<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-736939280929801283</id><updated>2011-08-03T13:26:33.028+05:30</updated><category term='linux'/><category term='mp3'/><category term='unicode'/><title type='text'>Information is wealth</title><subtitle type='html'>My tech blog</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>23</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-6167186506585304604</id><published>2011-06-29T16:29:00.005+05:30</published><updated>2011-06-29T16:36:35.460+05:30</updated><title type='text'>Test HTTPS sites using openssl</title><content type='html'>We often use telnet to connect to a web server and test it.&lt;br /&gt;But telnet cannot be used when the site is HTTPS (SSL).&lt;br /&gt;openssl command can be used to do this.&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;openssl s_client -connect encrypted.google.com:443&lt;br /&gt;&lt;br /&gt;-quiet can be used if you want the connection to be closed once done. This is useful when you use this within scripts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-6167186506585304604?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/6167186506585304604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=6167186506585304604' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/6167186506585304604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/6167186506585304604'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2011/06/test-https-sites-using-openssl.html' title='Test HTTPS sites using openssl'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-3456253616649863374</id><published>2009-12-23T18:54:00.004+05:30</published><updated>2011-06-03T00:08:34.715+05:30</updated><title type='text'>shell script to download youtube video</title><content type='html'>&lt;a href="http://code.google.com/p/youtube-downloader/source/browse/trunk/youtubedl.sh"&gt;Here&lt;/a&gt; is a shell script that I wrote to download youtube video (given the video URL)&lt;br /&gt;&lt;br /&gt;This is based on youtube-dl (that's in python) tool that is available in ubuntu software repository.&lt;br /&gt;&lt;br /&gt;I came to know that across the globe use my tool. The get in touch whenever it stops working.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-3456253616649863374?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/3456253616649863374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=3456253616649863374' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/3456253616649863374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/3456253616649863374'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2009/12/shell-script-to-download-youtube-video.html' title='shell script to download youtube video'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-4409221864572367507</id><published>2009-07-16T17:15:00.009+05:30</published><updated>2011-06-02T17:06:42.972+05:30</updated><title type='text'>How to generate and examine windows core dumps</title><content type='html'>&lt;span style="font-size:100%;"&gt;How to generate and examine windows core dumps &lt;/span&gt; &lt;p&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt; Generating core dump. &lt;ol&gt;&lt;li&gt; install windbg(Debugging Tools for Windows). (download here : &lt;a href="http://www.microsoft.com/whdc/devtools/debugging/installx86.Mspx" target="_top"&gt;http://www.microsoft.com/whdc/devtools/debugging/installx86.Mspx&lt;/a&gt;) &lt;/li&gt;&lt;li&gt; run windbg. (Start Menu-&amp;gt;Programs-&amp;gt;Debugging Tools for Windows-&amp;gt;WinDbg) &lt;/li&gt;&lt;li&gt; Attach to the process (using GUI, File-&amp;gt;Attach to a Process... [f6]) &lt;/li&gt;&lt;li&gt; run the command &lt;pre&gt; .dump /ma c:\cpdump.dmp &lt;/pre&gt; as described here (&lt;a href="http://wiki.zimbra.com/index.php?title=Creating_a_Core_Dump_from_a_Running_Process_using_WinDbg" target="_top"&gt;http://wiki.zimbra.com/index.php?title=Creating_a_Core_Dump_from_a_Running_Process_using_WinDbg&lt;/a&gt;) &lt;/li&gt;&lt;li&gt; This will generate the file c:\cpdump.dmp &lt;/li&gt;&lt;li&gt; compress(zip) the file c:\cpdump.dmp and send it across &lt;/li&gt;&lt;/ol&gt;  &lt;/li&gt;&lt;/ul&gt;  &lt;p&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt; Observing the dump file. &lt;ol&gt;&lt;li&gt; run command &lt;pre&gt;~*kb&lt;/pre&gt; to see all the thread stacks. &lt;/li&gt;&lt;li&gt; More information here (&lt;a href="http://windowsitpro.com/article/articleid/21217/using-the-windbg-debugging-tool.html" target="_top"&gt;http://windowsitpro.com/article/articleid/21217/using-the-windbg-debugging-tool.html&lt;/a&gt;) &lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ul&gt;Look at help--&amp;gt;contents (.chm) for detailed reference&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;You will not be able to see symbols in the dump file if you don't have the symbol database (.pdb) file for your application. The /Z7 option that puts the symbol information in the .obj files did not help.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;gotcha&lt;/span&gt; : when /Zi option is used and code compiled through ssh session, the com,piler fails. Running the build through windows command prompt works !&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I had to compile the product with /Zi (for cl.exe) option that created vc80.pdb file.&lt;br /&gt;Then during linking, use /DEBUG /PDB:&lt;file_path&gt;/path/to/.pdb . The .pdb file generated in the link step can be used with windbg&lt;br /&gt;&lt;br /&gt;reference:&lt;br /&gt;http://msdn.microsoft.com/en-us/library/yd4f8bd1%28v=vs.71%29.aspx&lt;br /&gt;http://msdn.microsoft.com/en-us/library/yd4f8bd1.aspx&lt;br /&gt;&lt;br /&gt;you can also extract pdb from an executable that is compiled with /Z7 option (as documented here) . did not work for me though&lt;br /&gt;http://support.microsoft.com/kb/258205&lt;br /&gt;&lt;/file_path&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-4409221864572367507?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/4409221864572367507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=4409221864572367507' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/4409221864572367507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/4409221864572367507'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2009/07/how-to-generate-and-examine-windows.html' title='How to generate and examine windows core dumps'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-6505739252845447076</id><published>2009-06-18T17:54:00.003+05:30</published><updated>2009-12-31T18:59:57.535+05:30</updated><title type='text'>gratuitous ARP</title><content type='html'>&lt;span style="font-weight: bold;"&gt;what is ARP?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   Arp is a protocol that is used to map ip addresses to corresponding MAC addresses.  This is referred to as neighbour discovery. (ipv6 uses icmpv6 instead of ARP).&lt;br /&gt;Arp is used by a machine when it wants to send an ip packet to another machine on the same LAN segment (physical  LAN).&lt;br /&gt;&lt;ul&gt;&lt;li&gt;  The sender issues a 'Who has' ARP broadcast query. The machine that owns the IP address responds with the corresponding MAC address.&lt;/li&gt;&lt;li&gt;The sender uses this MAC address as the destination address in the datalink packet and injects the packet on to the wire.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;gratuitous ARP&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   gratuitous ARP is an ARP reply that is sent when there is no request. And it is a broadcast while normal ARP replies are not broadcast. This results in all machines in the segment updating their ARP cache.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Why is gratuitous ARP important&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;     gratuitous ARP is useful to let other machines on the same subnet know any change in IP address configurations.  This is particularly relevant in High Availability scenario where the active machine goes down and the standby machine takes over the new IP.  If a gratuitous ARP is not sent here, the gateway(of this subnet) will continue to forward the IP packets to previously active machine.&lt;br /&gt;&lt;br /&gt;Generally when an IP address is configured on a machine, the machine's network stack will send a gratuitous ARP.But some OSes(Like Linux) don't do that. This can be overcome on Linux by manually sending a gratuitous arp using  arping command's '-A' option as follows.&lt;br /&gt;&lt;span style="font-family:monospace;"&gt;&lt;br /&gt;     &lt;/span&gt;&lt;code xmlns="http://www.w3.org/1999/xhtml" class="prompt"&gt;&lt;/code&gt;&lt;strong xmlns="http://www.w3.org/1999/xhtml" class="userinput"&gt;&lt;code&gt;arping -q -c 3 -A -I&lt;/code&gt;&lt;/strong&gt; &lt;interface&gt; &lt;ip_address&gt;&lt;br /&gt;&lt;br /&gt;AIX issues a gratuitous ARP when ip is configured on one of it's interfaces using ifconfig.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-6505739252845447076?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/6505739252845447076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=6505739252845447076' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/6505739252845447076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/6505739252845447076'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2009/06/gratuitous-arp.html' title='gratuitous ARP'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-6223695298007175083</id><published>2009-06-09T18:13:00.004+05:30</published><updated>2009-06-09T18:32:52.156+05:30</updated><title type='text'>SQLite</title><content type='html'>I got to know about SQLite when I tried using a tool called "almanah" which is a simple diary.&lt;br /&gt;"almanah" stores all the information in a file /Your/home/.local/share/diary.db.&lt;br /&gt;did some search and found that this was a SQLite database file. Also figured how SQLite works. it's pretty simple.&lt;br /&gt;&lt;br /&gt;SQLite is a set of libraries that you can link with your application. It gives a set of API's so that you can execute SQL statements as you would do with any DBMS.  The difference here is that there is no other DBMS process, and everything is stored in the SQLite database file. check out this &lt;a href="http://www.sqlite.org/quickstart.html"&gt;link&lt;/a&gt;, it's straightforward.&lt;br /&gt;&lt;br /&gt;I was looking for a tool that would help me extract the contents of the diary into a text file.&lt;br /&gt;Found this tool called "sqlite3" on linux. This is like a shell for SQLite.&lt;br /&gt;run it&lt;br /&gt;$ sqlite3  /Your/home/.local/share/diary.db&lt;br /&gt;sqlite&gt; .tables&lt;br /&gt;entries            entry_attachments  entry_links   &lt;br /&gt;sqlite&gt;&lt;br /&gt;&lt;br /&gt;It shows 3 tables entries,entry_attachments  and entry_links&lt;br /&gt;&lt;br /&gt;doing a "select * from entries" gives all the entries in the diary.&lt;br /&gt;&lt;br /&gt;the below command can be run to do it with a single command.&lt;br /&gt;$sqlite3 ./diary.db "select * from entries"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-6223695298007175083?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/6223695298007175083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=6223695298007175083' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/6223695298007175083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/6223695298007175083'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2009/06/i-got-to-know-about-sqlite-when-i-tried.html' title='SQLite'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-7969534932009361376</id><published>2009-05-28T17:28:00.001+05:30</published><updated>2009-05-28T17:28:09.477+05:30</updated><title type='text'>Recover deleted files from deleted partition</title><content type='html'>I never thought recovering files would be so easy. I had deleted my personal files on old Laptop to return it.&lt;br /&gt;I also repartitioned the disk using the Ubuntu install CD.&lt;br /&gt;&lt;br /&gt;But I later realized later that I had deleted something that I had not backed up(so naive).&lt;br /&gt;&lt;br /&gt;There are two Linux tools that I found useful.&lt;br /&gt;1) testdisk&lt;br /&gt;2) photorec&lt;br /&gt;&lt;br /&gt;There is a project called &lt;span style="color: rgb(0, 82, 136); font-size: 140%;"&gt;&lt;b&gt;&lt;a href="http://www.sysresccd.org/Main_Page"&gt;SystemRescueCd&lt;/a&gt; &lt;/b&gt;&lt;/span&gt;which includes useful &lt;a href="http://www.sysresccd.org/System-tools"&gt;tools&lt;/a&gt; to recover data.&lt;br /&gt;&lt;br /&gt;I used "test disk" tool to recover the deleted partition I was not able to restore the partition as such. But was able to browse files using the tool itself.&lt;br /&gt;&lt;br /&gt;There is another tool called&amp;nbsp; "photorec" which I used to recover deleted files of that partition.&lt;br /&gt;&lt;br /&gt;you can use the SystemRescueCd bootable cd or boot using ubuntu live cd and install the tools you want and use them as I did.&lt;br /&gt;  &lt;div class="flockcredit" style="text-align: right; color: #CCC; font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: #999; font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-7969534932009361376?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/7969534932009361376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=7969534932009361376' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/7969534932009361376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/7969534932009361376'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2009/05/recover-deleted-files-from-deleted.html' title='Recover deleted files from deleted partition'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-6211364510475849455</id><published>2009-05-07T11:01:00.006+05:30</published><updated>2009-05-07T12:23:30.506+05:30</updated><title type='text'>analyze extremely large packet capture(tcpdump) file</title><content type='html'>I recently had to analyze an extremely large packet capture file to resolve a customer issue.&lt;br /&gt;wireshark would crash trying to load the file(around 375 MB).&lt;br /&gt;You start thinking 'why did the client not capture packets only when the problem occured?'.&lt;br /&gt;But, I quickly realised that tcpdump can be used with the capture file as input and filters can be applied to extract packets of our interest.&lt;br /&gt;&lt;br /&gt;In this case I was interested in packets that had a particular ip address. So used the below command to extracted those packets into another pcap file.&lt;br /&gt;&lt;br /&gt;tcpdump -r [largefile.pcap]&lt;large.pcap\&gt;   &lt;largefile.pcap&gt;  -w [filteredFile.pcap]  &lt;filtered.pcap\&gt; &lt;filtered.pcap&gt;[filter] &lt;interested_ip&gt;&lt;br /&gt;&lt;br /&gt;And now I have a pcap file that wireshark can load so that I can take a good look at what is happening.&lt;/interested_ip&gt;&lt;/filtered.pcap&gt;&lt;/filtered.pcap\&gt;&lt;/largefile.pcap&gt;&lt;/large.pcap\&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-6211364510475849455?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/6211364510475849455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=6211364510475849455' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/6211364510475849455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/6211364510475849455'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2009/05/analyze-extremely-large-packet.html' title='analyze extremely large packet capture(tcpdump) file'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-6960701884375053206</id><published>2008-09-17T10:55:00.002+05:30</published><updated>2008-09-17T12:28:12.850+05:30</updated><title type='text'>The state of the internet reports from akamai</title><content type='html'>Akamai is publishing quarterly report on the internet called "The state of the internet"&lt;br /&gt;These reports can be found here &lt;a href="http://www.akamai.com/stateoftheinternet/"&gt;http://www.akamai.com/stateoftheinternet/&lt;/a&gt;&lt;br /&gt;It can be downloaded after quick registration.&lt;br /&gt;&lt;br /&gt;The reports give interesting insights into how internet works.&lt;br /&gt;&lt;br /&gt;interesting things I found, relating to india:&lt;br /&gt;&lt;br /&gt;1) Reliance Globalcom is a big player in cable connectivity&lt;br /&gt;sinip--&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"In April 2008, Reliance Globalcom used satellite imagery to identify two ships that were in&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;the area of the original cable cuts, and that had improperly dropped anchor in the area.18&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;The owners of one of the ships paid $60,000 in damages to compensate for repairs, while&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;the second ship was impounded in Dubai."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2) Some good things happening for india&lt;br /&gt;snip--&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"A consortium of 16 telecommunications firms has contracted to build a 15,000 km&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;submarine cable system linking India with Europe via the Middle East. The Europe India&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Gateway (EIG) will cost $700 million and add 3.84 Tbps of capacity. The EIG consortium&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;includes firms from the US, Europe, Africa, the Middle East and India – including AT&amp;amp;T,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Verizon, BT, Cable &amp;amp; Wireless, MTN, Telecom Egypt, Omantel, Saudi Telecom Company,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;du, Bharti Airtel, Gibraltar’s Gibtelecom, PT Comunicacoes of Portugal, Djibouti Telecom,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Maroc Telecom, Libya Telecom and Technology, and Telkom South Africa. Initial landings&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;are for the cable are planned for the UK, Portugal, Gibraltar, Morocco, Monaco, France,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Libya, Egypt, Saudi Arabia, Djibouti, Oman, the United Arab Emirates, and India.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;At least two other new cables serving much the same route as the EIG are also currently&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;being planned. Tata Communications is leading the consortium behind the IMeWe&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;system, due to add another potential 3.84 Tbps to the route when it goes live in 2009.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Also backing IMeWe are Etisalat, France Telecom, Ogero of Lebanon, PTCL of Pakistan,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;TIS Sparkle of Italy, as well as EIG investors Bharti Airtel, Telecom Egypt and STC. Tata is&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;also behind the TGN Eurasia Cable System, set to link Mumbai with Paris, London and&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Madrid via Egypt, with Seacom and Telecom Egypt as fellow sponsors.36&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Along these lines, research firm Telegeography’s annual Global Bandwidth Research&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Service noted that 25 new submarine cables will be built over the next three years"&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-6960701884375053206?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/6960701884375053206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=6960701884375053206' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/6960701884375053206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/6960701884375053206'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2008/09/state-of-internet-reports-from-akamai.html' title='The state of the internet reports from akamai'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-8360820257926573619</id><published>2008-08-19T16:17:00.002+05:30</published><updated>2008-08-19T16:45:47.270+05:30</updated><title type='text'>Download youtube videos using clive</title><content type='html'>How do you download youtube videos onto your computer? Do you use those web sites to do it?&lt;br /&gt;There is a smarter way of doing it.&lt;br /&gt;The clive command. It is available for Linux. Not sure about windows.&lt;br /&gt;If you are on ubuntu life is easier... 'sudo apt-get install clive' will install clive.&lt;br /&gt;&lt;br /&gt;downloading a video is as easy as typing the command,&lt;br /&gt;$clive 'http://www.youtube.com/watch?v=sOpCfIRA9MY'&lt;br /&gt;&lt;br /&gt;Do quote the url, it may have special characters that the shell interprets.&lt;br /&gt;&lt;br /&gt;Read the man page for more details.&lt;br /&gt;The feature that I liked is the ability to download multiple videos....&lt;br /&gt;&lt;br /&gt;put all video links in a file, ex: videos.list then,&lt;br /&gt;$cat videos.list | clive&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-8360820257926573619?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/8360820257926573619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=8360820257926573619' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/8360820257926573619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/8360820257926573619'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2008/08/download-youtube-videos-using-clive.html' title='Download youtube videos using clive'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-7726609476767836444</id><published>2008-07-28T18:29:00.006+05:30</published><updated>2008-07-29T19:28:41.928+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='unicode'/><title type='text'>flip characters upside down - unicode trick</title><content type='html'>You ca get your sentences flipped using this link&lt;br /&gt;&lt;a href="http://www.revfad.com/flip.html"&gt;http://www.revfad.com/flip.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This a simple Unicode trick. view the page source of the above link, you can find a table that maps the usual characters to their flipped versions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-7726609476767836444?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/7726609476767836444/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=7726609476767836444' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/7726609476767836444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/7726609476767836444'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2008/07/flip-characters-uoside-down-unicode.html' title='flip characters upside down - unicode trick'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-5071374127685944623</id><published>2008-07-09T11:04:00.005+05:30</published><updated>2008-07-09T12:00:54.465+05:30</updated><title type='text'>Image magic with ImageMagick</title><content type='html'>There are various graphical tools available for manipulating images. but Imagine doing this using command line. sounds geeky !&lt;br /&gt;This can be useful when you want to perform the same action on large number of images. think about reducing the size/quality of 100's of images captured on your digital camera  so that you can upload them to the internet, or email them.&lt;br /&gt;&lt;br /&gt;ImageMagick is a collection of tools that can help you do this.&lt;br /&gt;You can download it from &lt;a href="http://www.imagemagick.org/script/index.php"&gt;http://www.imagemagick.org/script/index.php&lt;/a&gt; . On ubuntu install it by typing "sudo apt-get install imagemagick"&lt;br /&gt;"man imagemagick" for man page of imagemagick.&lt;br /&gt;You can also look at the man page of individual tools for more detailed information&lt;br /&gt;&lt;br /&gt;Useful Links:&lt;br /&gt;--------------&lt;br /&gt;Imagemagick page:&lt;br /&gt;&lt;a href="http://www.imagemagick.org/script/index.php"&gt;http://www.imagemagick.org/script/index.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;found this page particularly useful.&lt;br /&gt;&lt;a href="http://www.imagemagick.org/Usage/"&gt;http://www.imagemagick.org/Usage/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;quick start to reduce image sizes:&lt;br /&gt;&lt;a href="http://www.linuxforums.org/forum/suse-linux-help/39848-how-reduce-jpeg-file-size-email.html"&gt;http://www.linuxforums.org/forum/suse-linux-help/39848-how-reduce-jpeg-file-size-email.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-5071374127685944623?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/5071374127685944623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=5071374127685944623' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/5071374127685944623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/5071374127685944623'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2008/07/image-magic-with-imagemagick.html' title='Image magic with ImageMagick'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-5925966405132864449</id><published>2008-06-02T11:42:00.010+05:30</published><updated>2008-07-29T18:40:48.754+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='mp3'/><title type='text'>Clip, cut, split mp3 files using dd</title><content type='html'>I accidentally discovered a wonderful use of the dd command on ubuntu.&lt;br /&gt;&lt;br /&gt;clip mp3 files.&lt;br /&gt;&lt;br /&gt;It looks like mp3 format does not have any header or footer. So copying some contiguous bytes from somewhere in the file seems to create another valid mp3 file. WOW!&lt;br /&gt;&lt;br /&gt;I have a large mp3 ("041-oru maalai.mp3") file(song) but I feel a part of it sounds good as a ring tone for my mobile phone. I want to skip the initial music and start from the lyrics. And also cut the song and make it smaller.&lt;br /&gt;&lt;br /&gt;The below command does it.&lt;br /&gt;dd if="041-oru maalai.mp3" of="041-oru maalai_small.mp3"  count=6000 skip=900&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;count&lt;/span&gt; says how many blocks to copy.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;skip&lt;/span&gt; says how many blocks to skip form the beginning of the file.&lt;br /&gt;see man page for block sizes.&lt;br /&gt;&lt;br /&gt;now "041-oru maalai_small.mp3" is what I need.&lt;br /&gt;&lt;br /&gt;Given this, you can do a lot of stuff.&lt;br /&gt;Possibilities are limited only by your imagination.&lt;br /&gt;for example, you can clip a few file and cat them to form a single music file... WOW!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-5925966405132864449?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/5925966405132864449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=5925966405132864449' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/5925966405132864449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/5925966405132864449'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2008/06/clip-your-mp3-files-using-dd.html' title='Clip, cut, split mp3 files using dd'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-5065575717964200999</id><published>2008-05-30T10:14:00.004+05:30</published><updated>2008-05-30T10:34:57.413+05:30</updated><title type='text'>Backup your installation using simple tools (dd, partimage)</title><content type='html'>recently I came to know about very simple but useful tool 'dd' which can be used to a lot of amazing stuff. Here is an &lt;a href="http://www.linuxquestions.org/questions/linux-newbie-8/learn-the-dd-command-362506/"&gt;anazing tutorial&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;there is a project called partimage, that is specifically meant for backing up and restoring your partitions.&lt;br /&gt;partimage home - http://www.partimage.org/Main_Page&lt;br /&gt;backup drive using ubuntu live cd - http://www.psychocats.net/ubuntu/partimage&lt;br /&gt;&lt;br /&gt;Now, I have backed my ubuntu and windows installations...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-5065575717964200999?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/5065575717964200999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=5065575717964200999' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/5065575717964200999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/5065575717964200999'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2008/05/backup-your-installation-using-simple.html' title='Backup your installation using simple tools (dd, partimage)'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-4485465566783144942</id><published>2008-05-26T12:52:00.003+05:30</published><updated>2008-06-02T12:58:45.426+05:30</updated><title type='text'>unit test code coverage using gcov</title><content type='html'>You can get a detailed and useful report on code coverage of your unit tests using the tool gcov.&lt;br /&gt;It is very simple to setup and use.&lt;br /&gt;&lt;br /&gt;useful links:&lt;br /&gt;http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/gcc/gcov.html&lt;br /&gt;http://gcc.gnu.org/onlinedocs/gcc-3.1.1/gcc/Gcov.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-4485465566783144942?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/4485465566783144942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=4485465566783144942' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/4485465566783144942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/4485465566783144942'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2008/05/unit-test-coverage-using-gcov.html' title='unit test code coverage using gcov'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-8261075077596356618</id><published>2008-05-23T10:30:00.003+05:30</published><updated>2008-05-26T12:22:44.604+05:30</updated><title type='text'>list files in  .rpm package file</title><content type='html'>You may want to list the files that will be installed by an rpm package&lt;br /&gt;rpm -qlp will do it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-8261075077596356618?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/8261075077596356618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=8261075077596356618' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/8261075077596356618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/8261075077596356618'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2008/05/list-files-in-rpm-package.html' title='list files in  .rpm package file'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-4626566409711978134</id><published>2008-05-05T18:39:00.009+05:30</published><updated>2008-06-09T18:22:54.405+05:30</updated><title type='text'>partition using gparted on ubuntu live cd</title><content type='html'>When you buy a laptop, you mostly get it with windows installed. (Monopoly you see...;) ) . So if you want to install Linux without loosing the existing windows, then you have to resize the existing partition. Well, you can do this using partition Magic.  But when I tried, I kept getting one error consistently, it looked something like this: " error 1161 bad system file name" .&lt;br /&gt;&lt;br /&gt;what next?&lt;br /&gt;&lt;br /&gt;Ubuntu Live CD has a tool called gparted which can be used to do this.&lt;br /&gt;If the disk does not have bad sectors,  you can simply resize by dragging the slider in gparted.&lt;br /&gt;I had to use ntfsresize first to resize the ntfs filesystem before using gparted to resize the partition.&lt;br /&gt;So boot the live CD. run ntfsresize to resize your filesystem, use gparted to  resize your partition.&lt;br /&gt;you can as well create other partitions to install linux here itself.&lt;br /&gt;&lt;br /&gt;The resizing is a bit tricky. You need to first resize filesystem using "ntfsresize" and then the partition with gparted. So search the web and find the right instructions to do this&lt;br /&gt;&lt;br /&gt;useful link... &lt;br /&gt;http://www.nishants.net/articles/ntfsresize.htm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-4626566409711978134?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/4626566409711978134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=4626566409711978134' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/4626566409711978134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/4626566409711978134'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2008/05/install-linux-on-laptop-with-windows.html' title='partition using gparted on ubuntu live cd'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-1128028674197247480</id><published>2008-05-05T18:28:00.005+05:30</published><updated>2008-05-23T10:33:13.222+05:30</updated><title type='text'>New ubuntu installation with all softwares from a previous installation</title><content type='html'>I am using ubuntu Gutsy on my (office)desktop. Recently got a Lenovo T61 at office. Now I want all packages that I installed on my desktop ( which I installed as and when I needed ) to be installed on laptop also. So here is how I did it (by googling of course).&lt;br /&gt;&lt;br /&gt;Get the list of all packages installed on your machine using this command:&lt;br /&gt;$ dpkg --get-selections &gt; sw.list&lt;br /&gt;&lt;br /&gt;on new machine:&lt;br /&gt;copy sw.list first. Then use following commands to install all these packages.&lt;br /&gt;&lt;br /&gt;$ cat sw.list | sudo dpkg --set-selections&lt;br /&gt;$ dselect&lt;br /&gt;&lt;br /&gt;Links on internet:&lt;br /&gt;http://ubuntuforums.org/showthread.php?t=261366&lt;br /&gt;http://www.cyberciti.biz/tips/linux-get-list-installed-software-reinstallation-restore.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-1128028674197247480?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/1128028674197247480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=1128028674197247480' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/1128028674197247480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/1128028674197247480'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2008/05/new-ubuntu-installation-with-all.html' title='New ubuntu installation with all softwares from a previous installation'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-7679727544403907674</id><published>2007-06-12T12:12:00.000+05:30</published><updated>2007-06-12T12:19:55.007+05:30</updated><title type='text'>burn cd in linux</title><content type='html'>mkisofs -o cd.iso ./test_dir&lt;br /&gt;cdrecord -v speed=4 dev=1,0,0 -data belenix0.6.iso&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-7679727544403907674?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/7679727544403907674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=7679727544403907674' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/7679727544403907674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/7679727544403907674'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2007/06/burn-cd-in-linux.html' title='burn cd in linux'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-1713984440791477677</id><published>2007-03-14T19:39:00.001+05:30</published><updated>2007-03-15T11:48:12.965+05:30</updated><title type='text'>code large projects on vi/cscope</title><content type='html'>&lt;p&gt;I just figured that one can find all the features of an advanced IDE (editor) on beloved vi.&lt;/p&gt;  &lt;p&gt;Follow this link to see how.&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://cscope.sourceforge.net/cscope_vim_tutorial.html" onclick="return top.js.OpenExtLink(window,event,this)" target="_blank"&gt;http://cscope.s&lt;wbr&gt;ourceforge.net/&lt;wbr&gt;cscope_vim_tuto&lt;wbr&gt;rial.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Some more wonderful VI resource&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;"Seven habits of effective text editing" presentation&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;PDF --&amp;gt; http://www.moolenaar.net/habits.pdf.&lt;br /&gt;&lt;/p&gt;  Video --&amp;gt; http://video.google.com/videoplay?docid=2538831956647446078&lt;p&gt;I was pleased to be able to use vi for projects of any size. Hope u r left with the same feeling, If u love vi as much as i do ;-)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p style="text-align: right; font-size: 8px;"&gt;Blogged with &lt;a href="http://www.flock.com/blogged-with-flock" title="Flock" target="_new"&gt;Flock&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-1713984440791477677?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/1713984440791477677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=1713984440791477677' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/1713984440791477677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/1713984440791477677'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2007/03/code-large-projects-on-vicscope.html' title='code large projects on vi/cscope'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-3749530513405397167</id><published>2006-12-21T09:54:00.000+05:30</published><updated>2006-12-21T09:58:15.716+05:30</updated><title type='text'>Apache Tcpmon</title><content type='html'>The TCPMon utility, useful in monitoring tcp traffic was originally part of apache AXIS.&lt;br /&gt;Now it is independent.&lt;br /&gt;&lt;br /&gt;apache TCPMon home &lt;a href="http://ws.apache.org/commons/tcpmon/index.html"&gt;http://ws.apache.org/commons/tcpmon/index.html&lt;/a&gt;&lt;br /&gt;download page &lt;a href="http://ws.apache.org/commons/tcpmon/download.cgi"&gt;http://ws.apache.org/commons/tcpmon/download.cgi&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-3749530513405397167?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/3749530513405397167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=3749530513405397167' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/3749530513405397167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/3749530513405397167'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2006/12/apache-tcpmon.html' title='Apache Tcpmon'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-4670790099287582888</id><published>2006-12-19T19:33:00.000+05:30</published><updated>2006-12-19T19:43:46.693+05:30</updated><title type='text'>siege HTTP REGRESSION TESTER</title><content type='html'>Content copied as is from &lt;a href="http://www.joedog.org/Siege/Manual"&gt;http://www.joedog.org/Siege/Manual&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;SIEGE, AN HTTP REGRESSION TESTER &amp; BENCHMARKING UTILITY by Jeffrey FulmerMay 2006&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Siege is an http/https regression testing and benchmarking utility. It was designed to let web developers measure the performance of their code under duress, to see how it will stand up to load on the internet. It lets the user hit a web server with a configurable number of concurrent simulated users. Those users place the webserver "under siege." The duration of the siege is measured in transactions, the sum of simulated users and the number of times each simulated user repeats the process of hitting the server. Thus 20 concurrent users 50 times is 1000 transactions, the length of the test. Performance measures include elapsed time of the test, the amount of data transferred ( including headers ), the response time of the server, its transaction rate, its throughput, its concurrency and the number of times it returned OK. These measures are quantified and reported at the end of each run. Their meaning and significance is discussed below. Siege has essentially three modes of operation, regression, internet simulation and brute force. It can read a large number of URLs from a configuration file and run through them incrementally ( regression ) or randomly ( internet simulation ). Or the user may simply pound a single URL with a runtime configuration at the command line ( brute force ).&lt;br /&gt;&lt;a id="a02" name="a02"&gt;&lt;/a&gt;&lt;a href="http://www.joedog.org/Siege/Manual#tmpl-top"&gt;Invocation&lt;/a&gt;&lt;br /&gt;The format for invoking siege is: siege options... siege supports the following command line options:&lt;br /&gt;' -V '' --version'Print version information to the screen.&lt;br /&gt;' -h '' --help'Print the help section. This presents a summary of the options discussed in this section of the manual.&lt;br /&gt;' -C '' --config'Print the current configuration. This option reads your .siegerc file and prints the settings. You can change those settings by editing $HOME/.siegerc. If you don't have a .siegerc file, then you can generate one by running "siege.config"&lt;br /&gt;' -v '' --verbose 'Verbose output. With this option selected, siege will print transaction information to the screen. This includes HTTP protocol type, the return code and the page it requested:HTTP/1.1 200 OK: /cgi-bin/whoohoo.cgi?first=Homer&amp;amp;last=simpsonThis option is especially useful for charting progress in regression or internet modes when the program is hitting a large number of assorted URLs.&lt;br /&gt;' -g URL '' --get URL 'Get an HTTP transaction. Pull down headers from the server and display HTTP transaction. Great for web application debugging. [Example]&lt;br /&gt;' -c NUM '' --concurrent=NUM 'Concurrent users ( requires argument ). This option allows the user to stress the web server with NUM number of simulated users. The amount is limited only by the computing resources available, but realistically a couple of hundred simulated users is equal to many times that that number in actual user sessions. The number you select represents the number of transactions your server is handling. It does NOT represent the number of concurrent sessions. Remember, real users take some time to actually read the page that they've requested....&lt;br /&gt;' -i '' --internet 'This option is used with a configuration file, that is a file containing many URLs. With this option in place, each user randomly hits any one of the URLs in the file each time it hits the server. Much like you can't tell the users of your website which pages they can view, you have no control over which pages siege will hit in internet mode. With this option set, there is no guarantee that every page in the file will be hit.&lt;br /&gt;' -t NUMm '' --time=NUMm 'TIME, allows you to run the test for a selected period of time. The format is "NUMm", where NUM is a time unit and the "m" modifier is either S, M, or H for seconds, minutes and hours. To run siege for an hour, you could select any one of the following combinations: -t3600S, -t60M, -t1H. The modifier is not case sensitive, but it does require no space between the number and itself.&lt;br /&gt;' -f FILE '' --file=FILE 'The default configuration file, the file with all your URLs is SIEGE_HOME/etc/urls.txt. You can use this option to instruct siege to use a different configuration file: siege --file=serverb.txt&lt;br /&gt;' - l '' --log 'This option instructs siege to log the statistics to SIEGE_HOME/var/siege.log. Each new statistics set is appended to the log.&lt;br /&gt;' - m MESSAGE '' --mark=MESSAGE 'This option allows you to mark the log file with a separator, to differentiate your log file entries with header information. It is not necessary to use both the -m option and the -l option. -m assumes -l so it marks and logs the transaction. If the MESSAGE has spaces in it, make sure that you put it in quotes.&lt;br /&gt;' -d NUM '' --delay=NUM 'Each siege simulated user is delayed for a random number of seconds between one and NUM. If you are benchmarking performance, it is recommended that you use a 1 second delay ( -d1 ). The default value is three (3 ). This delay allows for the transactions to stagger rather then to allow them to pound the server in waves.&lt;br /&gt;&lt;a id="a03" name="a03"&gt;&lt;/a&gt;&lt;a href="http://www.joedog.org/Siege/Manual#tmpl-top"&gt;Configuration File&lt;/a&gt;&lt;br /&gt;Beginning with version 2.00, siege supports a settings configuration file in which you can store most of your command line options. This makes it much easier to invoke siege and it helps you ensure that every run in a series of runs has the exact same settings. Where is it? The siege configuration file is called .seigerc and it is located in the home directory directory of the user who installed siege. If you did not install siege but you want to use it, then run the command "siege.config". That will put a template .siegerc file in your home directory. You can edit the settings with your favorite editor. The .siegerc file which is generated by the siege.config utility is well documented with comments describing the directives. Those comments should be all you need to get started.&lt;br /&gt;&lt;a id="a04" name="a04"&gt;&lt;/a&gt;&lt;a href="http://www.joedog.org/Siege/Manual#tmpl-top"&gt;URL Format&lt;/a&gt;&lt;br /&gt;Siege understands the following URL format: [protocol://] [servername.domain.xxx] [:portnumber] [/directory/file] Currently, siege only supports http and https protocols. HTTP is the default protocol and therefore does not require a protocol specification. Frankly siege allows you to cheat. The minimum requirement is this: servername. That's it. So if you're in the same domain as a server named shemp and shemp is in your host file or it is in DNS, then: siege -u shemp will stress &lt;a class="urllink" href="http://shemp.yourdomain.net/index.shtml" rel="nofollow"&gt;http://shemp.yourdomain.net/index.shtml&lt;/a&gt; ( assuming that is the server specified index ). If you want to lay siege to https servers, then it is necessary to specify the protocol. In the above example, siege -u &lt;a class="urllink" href="https://shemp/" rel="nofollow"&gt;https://shemp/&lt;/a&gt; Will lay siege to &lt;a class="urllink" href="https://shemp.yourdomain.net/index.shtml" rel="nofollow"&gt;https://shemp.yourdomain.net/index.shtml&lt;/a&gt; given the assumptions stated above.&lt;br /&gt;&lt;a id="a05" name="a05"&gt;&lt;/a&gt;&lt;a href="http://www.joedog.org/Siege/Manual#tmpl-top"&gt;The URLs File&lt;/a&gt;&lt;br /&gt;In order to run a regression test or an effective internet simulation, you are going to have to run through the URLs on the server you are testing. To accomplish that, place the URLs in a configuration file. The default file is SIEGE_HOME/etc/urls.txt. In that file list the URLs one per line:&lt;br /&gt;comments behind hashes&lt;br /&gt;&lt;a class="urllink" href="http://homer.whoohoo.com/index.shtml" rel="nofollow"&gt;http://homer.whoohoo.com/index.shtml&lt;/a&gt; &lt;a class="urllink" href="http://homer.whoohoo.com/howto.jsp" rel="nofollow"&gt;http://homer.whoohoo.com/howto.jsp&lt;/a&gt; &lt;a class="urllink" href="http://homer.whoohoo.com/cgi-bin/hello.pl?first=bart&amp;last=simpson" rel="nofollow"&gt;http://homer.whoohoo.com/cgi-bin/hello.pl?first=bart&amp;amp;last=simpson&lt;/a&gt;&lt;br /&gt;and on and on....&lt;br /&gt;Siege-2.06 and later supports both POST and GET directives. GET directives are constructed as shown above, but POST directives require the POST keyword. Construct POST directives as follows:&lt;br /&gt;&lt;a class="urllink" href="http://homer.whoohoo.com/cgi-bin/hello.pl" rel="nofollow"&gt;http://homer.whoohoo.com/cgi-bin/hello.pl&lt;/a&gt; POST name=homer &lt;a class="urllink" href="http://homer.whoohoo.com/haha.jsp" rel="nofollow"&gt;http://homer.whoohoo.com/haha.jsp&lt;/a&gt; POST word=doh!&amp;amp;scope=ALL&lt;br /&gt;When invoked without the URL option [ -u URL --url=URL ], siege looks for URLs in a file. It reads it into memory and runs through the URLs. Normally siege starts at the beginning of the file and works it way through it sequentially. If you specify internet mode [ -i --internet ], then it selects URLs randomly. An alternative file can be selected at run time with the [ -f FILE --file=FILE ] option.&lt;br /&gt;&lt;a id="a06" name="a06"&gt;&lt;/a&gt;&lt;a href="http://www.joedog.org/Siege/Manual#tmpl-top"&gt;Variables&lt;/a&gt;&lt;br /&gt;Beginning with release 2.57, siege supports variable declaration and evalutation in both the .siegerc file and the urls.txt file. Siege employs variable syntax similar to UNIX shell. They are declared one per line in the file: varname=value To refererence a varaible, you must place it inside $() or ${}. In the example above, type $(varname) to access value. You can use variables to switch between two protocols with one quick edit in your urls.txt file. For example: PROT=&lt;a class="urllink" href="https:///" rel="nofollow"&gt;https://&lt;/a&gt;$(PROT)eos.joedog.org/siege/index.php$(PROT)eos.joedog.org/wacky/index.php$(PROT)eos.joedog.org/scout/index.php$(PROT)eos.joedog.org/libping/index.php$(PROT)eos.joedog.org/gunner/index.phpNow, in order to switch between https and http, you need only edit one line in the entire file.&lt;br /&gt;&lt;a id="a07" name="a07"&gt;&lt;/a&gt;&lt;a href="http://www.joedog.org/Siege/Manual#tmpl-top"&gt;Log File&lt;/a&gt;&lt;br /&gt;When siege is invoked with logging enabled [-l/--log], the program records the transaction in PREFIX/var/siege.log where PREFIX is the directory in which siege was installed. ( see the file INSTALL for instructions. ) The transaction logged is similar to standard output display at the end of every siege run. However, the information is arranged in comma separated text for easy import into a spread sheet. The logging option enables you to maintain history and chart progress over time. In order to group runs by conditions such as URL, server or even protocol, the -m "message"/--mark="message" option was added. This places the mark "message" in the log file. So that if you switched your testing from http to https, you could mark the log with "start HTTPS testing" -m/--mark assumes logging and makes the -l/--log option unnecessary.&lt;br /&gt;&lt;a id="a08" name="a08"&gt;&lt;/a&gt;&lt;a href="http://www.joedog.org/Siege/Manual#tmpl-top"&gt;Performance Statistics&lt;/a&gt;&lt;br /&gt;Performance measures include elapsed time of the test, the amount of data transferred ( including headers ), the response time of the server, its transaction rate, its throughput, its concurrency and the number of times it returned OK. These measures are quantified and reported at the end of each run. The reporting format is modeled after Lincoln Stein's torture.pl script. This is a sample of siege output:&lt;br /&gt;Ben: $ siege -u shemp.whoohoo.com/Admin.jsp -d1 -r10 -c25..Siege 2.65 2006/05/11 23:42:16..Preparing 25 concurrent users for battle.The server is now under siege...doneTransactions: 250 hitsElapsed time: 14.67 secsData transferred: 448000 bytesResponse time: 0.43 secsTransaction rate: 17.04 trans/secThroughput: 30538.51 bytes/secConcurrency: 7.38Status code 200: 250Successful transactions: 250Failed transactions: 0&lt;br /&gt;Transactions is the number of server hits. In the example, 25 simulated users [ -c25 ] each hit the server with 10 repetitions [ -r10 ], a total of 250 transactions.&lt;br /&gt;Elapsed time is the duration of the entire siege test. This is measured from the time the user invokes siege until the last simulated user completes its transactions. Shown above, the test took 14.67 seconds to complete.&lt;br /&gt;Data transferred is the sum of data transferred to every siege simulated user. It includes the header information as well as content. Because it includes header information, the number reported by siege will be larger then the number reported by the server. In internet mode, which hits random URLs in a configuration file, this number is expected to vary from run to run.&lt;br /&gt;Response time is the average time it took to respond to each simulated user's requests.&lt;br /&gt;Transaction rate is the average number of transactions the server was able to handle per second, in a nutshell: transactions divided by elapsed time.&lt;br /&gt;Throughput is the average number of bytes transferred every second from the server to all the simulated users.&lt;br /&gt;Concurrency is average number of simultaneous connections, a number which rises as server performance decreases.&lt;br /&gt;Successful transactions is the number of times the server returned a code less then 400. Accordingly, redirects are considered successful transactions.&lt;br /&gt;&lt;a id="a09" name="a09"&gt;&lt;/a&gt;&lt;a href="http://www.joedog.org/Siege/Manual#tmpl-top"&gt;Availabilty&lt;/a&gt;&lt;br /&gt;New release annoucements are made on freshmeat.net. To sign up for new release information, click HERE. New versions are available for download via anonymous FTP, click HERE for downloads.&lt;br /&gt;&lt;a href="http://www.joedog.org/Siege/Manual#tmpl-top"&gt;Machines&lt;/a&gt;&lt;br /&gt;Multi-threaded siege was built and tested successfully on the following platforms: AIX( powerpc-ibm-aix4.2.1.0 ) Siege has been built and tested successfully using IBM C for AIX version 5. It currently does not support gcc on that platform.&lt;br /&gt;GNU/Linux( i[56]86-pc-linux-gnu ) Siege was originally developed on SuSE GNU/Linux with gcc, there are no known issues on this platform.&lt;br /&gt;HP-UX ( hppa2.0w-hp-hpux11.00 ) Siege has been built on this platform with both the HP ANSI C compiler and gcc.&lt;br /&gt;Solaris( sparc-sun-solaris2.[678] ) Siege LOVES this platform. It was built and tested successfully using gcc.&lt;br /&gt;Microsoft Windows( pc-i686-cygwin ) Siege was ported to Cygwin by Funkman. It runs nicely on all versions greater than or equal to 1.5.&lt;br /&gt;&lt;a href="http://www.joedog.org/Siege/Manual#tmpl-top"&gt;Authors&lt;/a&gt;&lt;br /&gt;Jeffrey Fulmer -- Designed and implemented Siege in his position as Webmaster for Armstrong World Industries&lt;br /&gt;License information&lt;br /&gt;Please consult the file, COPYING for complete license information. Copyright (C) 2000-2003 Jeffrey Fulmer Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the copyright notice and this permission notice are preserved, thus giving the recipient permission to redistribute in turn. Permission is granted to distribute modified versions of this document, or of portions of it, under the above conditions, provided also that they carry prominent notices stating who last changed them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-4670790099287582888?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/4670790099287582888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=4670790099287582888' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/4670790099287582888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/4670790099287582888'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2006/12/siege-http-regression-tester.html' title='siege HTTP REGRESSION TESTER'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-9018709647069622900</id><published>2006-12-15T12:02:00.000+05:30</published><updated>2006-12-21T10:47:41.742+05:30</updated><title type='text'>chatr command revisited....</title><content type='html'>&lt;em&gt;chatr &lt;/em&gt;command can be used to poke around a binary ELF file....&lt;br /&gt;&lt;br /&gt;For example, u can set a property which says that SHLIB_PATH has to be searched while looking to load shared libraries..&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic"&gt;Want to know more? try "man chatr" -:)&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-STYLE: italic"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-9018709647069622900?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/9018709647069622900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=9018709647069622900' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/9018709647069622900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/9018709647069622900'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2006/12/chatr-command-revisited.html' title='chatr command revisited....'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-736939280929801283.post-4895913759220380005</id><published>2006-11-22T16:47:00.000+05:30</published><updated>2006-11-23T17:01:39.273+05:30</updated><title type='text'>configure apache with mod_ssl (Apache+mod_ssl+openssl)</title><content type='html'>I have worked with Apache for a long time, but never configured it for secure communication(https). Setting it up on windows was nearly impossible for me (&lt;span style="font-size:85%;"&gt;Would welcome any help on this&lt;/span&gt;). On Redhat linux it was real eazy, as openssl and mod_ssl were already installed.&lt;br /&gt;&lt;br /&gt;The setup cannot be done with just &lt;span style="FONT-WEIGHT: bold"&gt;Apache+mod_ssl &lt;/span&gt;as I imagined before. The right combination is &lt;span style="FONT-WEIGHT: bold"&gt;Apache+mod_ssl+OpenSSL&lt;/span&gt;. Quote from apache website "&lt;span style="font-size:85%;"&gt;&lt;span style="FONT-STYLE: italic"&gt;The Apache HTTP Server module &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;code class="module" style="FONT-STYLE: italic"&gt;&lt;a href="http://beta.blogger.com/mod/mod_ssl.html"&gt;mod_ssl&lt;/a&gt;&lt;/code&gt;&lt;/span&gt;&lt;span style="FONT-STYLE: italic"&gt; provides an interface to the &lt;/span&gt;&lt;a style="FONT-STYLE: italic" href="http://www.openssl.org/"&gt;OpenSSL&lt;/a&gt;&lt;span style="FONT-STYLE: italic"&gt; library, which provides Strong Encryption using the Secure Sockets Layer and Transport Layer Security protocols&lt;/span&gt;&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;Realising that openssl implements the actual SSL protocol and mod_ssl is just an interface to openssl, took some time.&lt;br /&gt;&lt;br /&gt;Now, I am not very sure how mod_ssl and openssl interact. But I believe that mod_ssl uses some of the shared libraries of openssl (which can be seen by looking at the memory map of the httpd process)&lt;br /&gt;&lt;span style="FONT-STYLE: italic"&gt;/root/&gt; cat /proc/4807/maps grep -i ssl&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic"&gt;00125000-00156000 r-xp 00000000 08:13 1068411 &lt;span style="FONT-WEIGHT: bold"&gt;/lib/libssl.so.0.9.7a&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic"&gt;00156000-00159000 rwxp 00031000 08:13 1068411 /&lt;span style="FONT-WEIGHT: bold"&gt;lib/libssl.so.0.9.7a&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic"&gt;00419000-0043d000 r-xp 00000000 08:13 658555 /usr/lib/httpd/modules/mod_ssl.so&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic"&gt;0043d000-0043f000 rwxp 00023000 08:13 658555 /usr/lib/httpd/modules/mod_ssl.so&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-STYLE: italic;font-size:78%;" &gt;(4807 is the process id of httpd. And &lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="FONT-WEIGHT: bold"&gt;openssl-0.9.7a-43.1&lt;/span&gt; is the openssl version installed on my machine.)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;mod_ssl.so is a Dynamic Shared object(DSO), which can be plugged into apache without recompiling it. Find more details on DSO &lt;a href="http://httpd.apache.org/docs/1.3/dso.html"&gt;here.&lt;/a&gt;&lt;br /&gt;check out &lt;span style="FONT-STYLE: italic"&gt;"man dlopen"&lt;/span&gt;, it's ineresting with an example in the end.&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;This [&lt;a href="http://httpd.apache.org/docs/2.0/mod/mod_ssl.html"&gt;http://httpd.apache.org/docs/2.0/mod/mod_ssl.html&lt;/a&gt;] is a good link from apache on mod_ssl.&lt;br /&gt;&lt;br /&gt;While installing mod_ssl, make sure you have the right version for your apache.&lt;br /&gt;from &lt;a href="http://www.modssl.org/docs/2.8/ssl_faq.html"&gt;mod_ssl faq&lt;/a&gt;.&lt;br /&gt;---------------------------------------------------------------------------------------&lt;br /&gt;&lt;strong id="faq"&gt;How do I know which mod_ssl version is for which Apache version? &lt;/strong&gt;&lt;a href="http://www.modssl.org/docs/2.8/ssl_faq.html#what-version"&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;That's trivial: mod_ssl uses version strings of the syntax &lt;em&gt;&lt;mod_ssl-version&gt;&lt;/MOD_SSL-VERSION&gt;&lt;/em&gt;-&lt;em&gt;&lt;apache-version&gt;&lt;/APACHE-VERSION&gt;&lt;/em&gt;, for instance &lt;code&gt;2.4.0-1.3.9&lt;/code&gt;. This directly indicates that it's mod_ssl version 2.4.0 for Apache version 1.3.9. And this also means you &lt;em&gt;only&lt;/em&gt; can apply this mod_ssl version to exactly this Apache version (unless you use the &lt;code&gt;--force&lt;/code&gt; option to mod_ssl's &lt;code&gt;configure&lt;/code&gt; command ;-). &lt;/p&gt;------------------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Having installed apache, mod_ssl and openssl it is relatively easy to configure the server.&lt;br /&gt;Search the internet and find how to generate certificate using openssl commands, edit httpd.conf to put in the directives to point to the certificate.&lt;br /&gt;I followed the instructions &lt;a href="http://slacksite.com/apache/certificate.html"&gt;here,&lt;/a&gt; and it was easy going.&lt;br /&gt;&lt;br /&gt;Happy secure browsing....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/736939280929801283-4895913759220380005?l=techurl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techurl.blogspot.com/feeds/4895913759220380005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=736939280929801283&amp;postID=4895913759220380005' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/4895913759220380005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/736939280929801283/posts/default/4895913759220380005'/><link rel='alternate' type='text/html' href='http://techurl.blogspot.com/2006/11/configure-apache-for-modssl.html' title='configure apache with mod_ssl (Apache+mod_ssl+openssl)'/><author><name>Anil Kumar kainikara</name><uri>http://www.blogger.com/profile/11814875808393244404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
