tag:blogger.com,1999:blog-7369392809298012832024-02-19T12:36:18.974+05:30Information is wealthMy tech blogAnil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.comBlogger35125tag:blogger.com,1999:blog-736939280929801283.post-46247167499222620752022-04-12T15:15:00.002+05:302022-04-12T15:15:45.206+05:30Pause container image<p> The pause container image can be used to create a container that does *Nothing*</p><p>Kubernetes uses this 'docker.io/kubernetes/pause' to set up a pod.</p><p>This article explains this well : https://www.ianlewis.org/en/almighty-pause-container </p>Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-82952765175129513812021-11-28T12:41:00.002+05:302021-12-20T17:22:08.522+05:30Single line command to create self signed certificate<p> </p><pre><code>openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 365 -nodes</code></pre><pre><code> </code></pre><pre><code>Certificate with extensions:</code></pre><pre><code> </code></pre><pre><code>openssl req -x509 -nodes -newkey rsa:2048 -keyout key.pem -out server.pem -days 7300 -subj '/CN=My Name/C=US/OU=My Unit/O=ACME' -addext "keyUsage = digitalSignature, keyEncipherment, dataEncipherment, cRLSign, keyCertSign" -addext "extendedKeyUsage = serverAuth, clientAuth"<br /> </code></pre><p> </p>Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-14953191069106984812021-10-11T11:05:00.003+05:302021-10-11T11:05:22.996+05:30Boot into BIOS on ubuntu after UEFI boot<p> </p><p><code> </code></p><p><code>efibootmgr -n 0</code></p>Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-77075540975048970872019-02-21T15:37:00.001+05:302019-02-22T09:14:47.643+05:30Create a certificate with any expiry date<div dir="ltr" style="text-align: left;" trbidi="on">
<h2 style="text-align: left;">
Create a certificate with any expiry date</h2>
<div>
<h3 style="text-align: left;">
1. Create CA certificate and private key key</h3>
</div>
<div>
a. openssl genrsa -out ca.key 2048<br />
<br />
b. openssl req -new -x509 -key ca.key -out ca.crt<br />
<br />
<h3 style="text-align: left;">
2. Generate CSR</h3>
</div>
<div>
openssl req -out <span style="text-decoration-line: underline;">server.csr</span> -new -newkey rsa:2048 -nodes -keyout server.<span style="text-decoration-line: underline;">key</span></div>
<div>
<span style="text-decoration-line: underline;"><br /></span></div>
<div>
<h3 style="text-align: left;">
3. Sign the CSR and create certificate</h3>
</div>
<div>
openssl ca -policy policy_anything -out clientcert.pem -startdate 190221080000Z -enddate 190221090000Z -cert ca.crt -keyfile ca.key -infiles server_anil.csr<br />
<br />
These commands have to be executed for the above command to succeed:<br />
<br />
mkdir -p demoCA/newcerts<br />
touch demoCA/index.txt.attr<br />
touch demoCA/index.txt<br />
echo '01' > demoCA/serial<br />
<h3 style="text-align: left;">
4. Reference </h3>
How to setup your own CA with OpenSSL - https://gist.github.com/Soarez/9688998 </div>
</div>
Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-20156242852256441452018-06-24T19:00:00.003+05:302018-06-24T19:00:43.084+05:30SSL/TLS record structure<div dir="ltr" style="text-align: left;" trbidi="on">
Below is the structure of SSL/TLS record:<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLKeECAlAhAZxnEd96kUPf2Dyg0gL8qZ2FZWSnkz5BvDiiwBx0sqjNYFZUDTqNFlI5DGLedrN6_KAsVrqemkvJv7mdQqVpmrkCpV8G_k2BS02xFh-KGrw9uoK703WAthYrkLpCVPk8d1w/s1600/SSLRecord.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="665" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLKeECAlAhAZxnEd96kUPf2Dyg0gL8qZ2FZWSnkz5BvDiiwBx0sqjNYFZUDTqNFlI5DGLedrN6_KAsVrqemkvJv7mdQqVpmrkCpV8G_k2BS02xFh-KGrw9uoK703WAthYrkLpCVPk8d1w/s1600/SSLRecord.png" /></a></div>
<br /></div>
Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-23511752007889719452018-01-19T16:17:00.004+05:302018-06-24T19:07:54.758+05:30Capture ssl master keys from any openssl application<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
Just follow the instructions (in comments) in the c file.<br />
<br />
<a href="https://git.lekensteyn.nl/peter/wireshark-notes/tree/src/sslkeylog.c">https://git.lekensteyn.nl/peter/wireshark-notes/tree/src/sslkeylog.c</a><br />
<br />
Update: Newer openssl has '-keylogfile <filename>' option, using which, session keys can be logged into a file </filename></div>
Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-44089776018337767252017-11-23T17:41:00.001+05:302018-01-17T12:17:32.838+05:30Create a client certificate signed by a CA certificate<div dir="ltr" style="text-align: left;" trbidi="on">
#!/bin/bash<br />
<br />
#script to generate client cert-key pair signed by ca cert-key pair<br />
<br />
#create cert signing request<br />
openssl req -nodes -keyout anil.ca.key -subj "/C=US/ST=IL/L=Chicago/O=testers unlimited/OU=tester/CN=clisigner/emailAddress=clisigner@signer.com" -new -out anil.ca.cert.csr<br />
<br />
###Generate the certificate using csr<br />
openssl x509 -in anil.ca.cert.csr -out anil.ca.cert -req -signkey anil.ca.key -days 365<br />
<br />
#create cert signing request for client cert<br />
openssl req -nodes -keyout anil.cli.key -subj "/C=US/ST=IL/L=Chicago/O=testers unlimited/OU=tester/CN=client/emailAddress=client@client.com" -new -out anil.cli.cert.csr<br />
###Generate the certificate using csr<br />
openssl x509 -in anil.cli.cert.csr -out anil.cli.cert -req -signkey anil.cli.key -CA anil.ca.cert -CAkey anil.ca.key -days 365 -CAcreateserial<br />
<br />
<br />
## verify certificate signature<br />
openssl verify -verbose -CAfile anil.ca.cert anil.cli.cert<br />
<br />
<br />
echo " Netscaler does not accept private key in format generated above"<br />
echo "So, use this command to encrypt it"<br />
echo "openssl rsa -in anil.ca.key -passout pass:123456 -des3 -out anil.ca.key2"</div>
Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-82293344488021424612015-12-24T10:59:00.005+05:302015-12-24T10:59:55.547+05:30Adding new path to library search on Linux<div dir="ltr" style="text-align: left;" trbidi="on">
If you want to a path (directory) to be looked into for a shared library, without adding it to LD_LIBRARY_PATH, then ad the path to /etc/ld.so.conf and run ldconfig<br />
<br />
i.e<br />
<ol style="text-align: left;">
<li>Add directory to /etc/ld.so.conf</li>
<li>run ldconfig </li>
</ol>
</div>
Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-26278074810226054392015-12-07T14:11:00.002+05:302016-09-16T10:18:54.070+05:30Remove password and merge PDF files in ubuntu<div dir="ltr" style="text-align: left;" trbidi="on">
To remove password :<br />
<br />
for file in *.pdf ; do qpdf --password=anil6053 --decrypt $file ./nopw/$fil<br />
e; done<br />
<br />
<br />
To merge pdf files,<br />
<br />
pdftk *.pdf cat output mergedfile.pdf<br />
<br />
<br />
If there are cases where some online tool has a limit on size of pdf file that it accepts, then the size of pdf can be reduced using the below command. You will of course loose some resolution... <br />
<br />
Command to reduce the size of pdf :<br />
<br />
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=smaller.pdf large.pdf </div>
Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-61732686588185074162015-08-14T11:44:00.002+05:302015-08-14T11:46:22.566+05:30Extract layer 7 data from packet capture<div dir="ltr" style="text-align: left;" trbidi="on">
If you want to extract the tcp payload of a set of packets (A tcp stream for example) Below command comes handy.<br />
<br />
tshark -r test.pcap -2 -R"tcp.port==444" -T fields -e data | tr -d '\n' | xxd -r -p > layer7_data<br />
<br />
xxd converts ASCII hex to binary.<br />
<br />
<a name='more'></a><br />
--- </div>
Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-73721353971863977492013-04-12T18:55:00.001+05:302013-04-12T18:56:04.768+05:30Get openerp working from source<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="previewWindow">
<div>
<ul>
<li><span class="name">Run openerp from source</span><ul>
<li><span class="name done">Download source using bazaar</span><ul>
<li><span class="name">Install bazaar</span></li>
<li><span class="name">Configure bazaar for launchpad repository</span></li>
<li><span class="name">download(branch) source </span></li>
</ul>
</li>
<li><span class="name done">Get the server running from source</span><br /><span class="note">After getting the sourced using bzr, run openerp-server.py
</span></li>
<li><span class="name">Get the web client running from source</span><br /><span class="note">install python-cherrypy
python-formencode
This error can be seen at the core (server):
[2013-04-11 16:00:31,280][template1] ERROR:db.connection_pool:Connection to the database failed
Traceback (most recent call last):
File "/home/advaith/openerp/bzr/openerp/server/bin/sql_db.py", line 303, in borrow
result = psycopg2.connect(dsn=dsn, connection_factory=PsycoConnection)
File "/usr/lib/python2.7/dist-packages/psycopg2/__init__.py", line 179, in connect
connection_factory=connection_factory, async=async)
OperationalError: FATAL: role "advaith" does not exist
</span></li>
<li><span class="name">Get GTK Client running from source.</span><br /><span class="note">./configure
make
make install
/usr/local/bin/openerp-client</span></li>
<li><span class="name">Install and configure postgresql for openerp</span><br /><span class="note">Follow steps from this link :
http://doc.openerp.com/v6.1/install/linux/postgres/index.html
The links talks about creating role openerp. But I created role 'advaith' as suggested in error message</span></li>
<li><span class="name">Once postgresql is installed and configured,you can access create database.</span></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com1tag:blogger.com,1999:blog-736939280929801283.post-66059914188771168842013-02-08T13:06:00.000+05:302013-02-08T13:06:04.378+05:30Share files using remote desktop<div dir="ltr" style="text-align: left;" trbidi="on">
You can share a folder on the client machine so that it's available for read and write on the server to which you do remote desktop.<br />
<br />
use the -r option of rdesktop.<br />
<br />
rdesktop 172.16.229.23 -r disk:share=/tmp<br />
<br />
On remote machine, you can see an new drive with name 'share on <client_name>'. You can read/write files from the drive.</client_name></div>
Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-61671865065853046042011-06-29T16:29:00.005+05:302015-12-07T14:10:31.577+05:30Test HTTPS sites using openssl<div dir="ltr" style="text-align: left;" trbidi="on">
We often use telnet to connect to a web server and test it.<br />
But telnet cannot be used when the site is HTTPS (SSL).<br />
openssl command can be used to do this.<br />
<br />
For example:<br />
openssl s_client -connect encrypted.google.com:443<br />
<br />
-quiet can be used if you want the connection to be closed once done. This is useful when you use this within scripts.<br />
<br />
Below command can be used in a script: <br />
<br />
openssl s_client -tls1 -ign_eof -connect 10.102.34.122:443 <<eofh br="">GET /</eofh><br />
EOFH</div>
Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-34562536166498633742009-12-23T18:54:00.004+05:302011-06-03T00:08:34.715+05:30shell script to download youtube video<a href="http://code.google.com/p/youtube-downloader/source/browse/trunk/youtubedl.sh">Here</a> is a shell script that I wrote to download youtube video (given the video URL)<br /><br />This is based on youtube-dl (that's in python) tool that is available in ubuntu software repository.<br /><br />I came to know that across the globe use my tool. The get in touch whenever it stops working.Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-44092218645723675072009-07-16T17:15:00.009+05:302011-06-02T17:06:42.972+05:30How to generate and examine windows core dumps<span style="font-size:100%;">How to generate and examine windows core dumps </span> <p> </p><ul><li> Generating core dump. <ol><li> install windbg(Debugging Tools for Windows). (download here : <a href="http://www.microsoft.com/whdc/devtools/debugging/installx86.Mspx" target="_top">http://www.microsoft.com/whdc/devtools/debugging/installx86.Mspx</a>) </li><li> run windbg. (Start Menu->Programs->Debugging Tools for Windows->WinDbg) </li><li> Attach to the process (using GUI, File->Attach to a Process... [f6]) </li><li> run the command <pre> .dump /ma c:\cpdump.dmp </pre> as described here (<a href="http://wiki.zimbra.com/index.php?title=Creating_a_Core_Dump_from_a_Running_Process_using_WinDbg" target="_top">http://wiki.zimbra.com/index.php?title=Creating_a_Core_Dump_from_a_Running_Process_using_WinDbg</a>) </li><li> This will generate the file c:\cpdump.dmp </li><li> compress(zip) the file c:\cpdump.dmp and send it across </li></ol> </li></ul> <p> </p><ul><li> Observing the dump file. <ol><li> run command <pre>~*kb</pre> to see all the thread stacks. </li><li> More information here (<a href="http://windowsitpro.com/article/articleid/21217/using-the-windbg-debugging-tool.html" target="_top">http://windowsitpro.com/article/articleid/21217/using-the-windbg-debugging-tool.html</a>) </li></ol></li></ul>Look at help-->contents (.chm) for detailed reference<br /><br /><span style="font-size:100%;">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.<br /><br /><span style="font-style: italic;"><span style="font-weight: bold;">gotcha</span> : when /Zi option is used and code compiled through ssh session, the com,piler fails. Running the build through windows command prompt works !</span><br /><br /><br />I had to compile the product with /Zi (for cl.exe) option that created vc80.pdb file.<br />Then during linking, use /DEBUG /PDB:<file_path>/path/to/.pdb . The .pdb file generated in the link step can be used with windbg<br /><br />reference:<br />http://msdn.microsoft.com/en-us/library/yd4f8bd1%28v=vs.71%29.aspx<br />http://msdn.microsoft.com/en-us/library/yd4f8bd1.aspx<br /><br />you can also extract pdb from an executable that is compiled with /Z7 option (as documented here) . did not work for me though<br />http://support.microsoft.com/kb/258205<br /></file_path></span>Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-65057392528454470762009-06-18T17:54:00.003+05:302009-12-31T18:59:57.535+05:30gratuitous ARP<span style="font-weight: bold;">what is ARP?</span><br /><br /> 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).<br />Arp is used by a machine when it wants to send an ip packet to another machine on the same LAN segment (physical LAN).<br /><ul><li> The sender issues a 'Who has' ARP broadcast query. The machine that owns the IP address responds with the corresponding MAC address.</li><li>The sender uses this MAC address as the destination address in the datalink packet and injects the packet on to the wire.</li></ul><span style="font-weight: bold;"><br />gratuitous ARP</span><br /><br /> 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.<br /><br /><br /><span style="font-weight: bold;">Why is gratuitous ARP important<br /><br /></span> 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.<br /><br />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.<br /><span style="font-family:monospace;"><br /> </span><code xmlns="http://www.w3.org/1999/xhtml" class="prompt"></code><strong xmlns="http://www.w3.org/1999/xhtml" class="userinput"><code>arping -q -c 3 -A -I</code></strong> <interface> <ip_address><br /><br />AIX issues a gratuitous ARP when ip is configured on one of it's interfaces using ifconfig.Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-62236952980071750832009-06-09T18:13:00.004+05:302009-06-09T18:32:52.156+05:30SQLiteI got to know about SQLite when I tried using a tool called "almanah" which is a simple diary.<br />"almanah" stores all the information in a file /Your/home/.local/share/diary.db.<br />did some search and found that this was a SQLite database file. Also figured how SQLite works. it's pretty simple.<br /><br />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 <a href="http://www.sqlite.org/quickstart.html">link</a>, it's straightforward.<br /><br />I was looking for a tool that would help me extract the contents of the diary into a text file.<br />Found this tool called "sqlite3" on linux. This is like a shell for SQLite.<br />run it<br />$ sqlite3 /Your/home/.local/share/diary.db<br />sqlite> .tables<br />entries entry_attachments entry_links <br />sqlite><br /><br />It shows 3 tables entries,entry_attachments and entry_links<br /><br />doing a "select * from entries" gives all the entries in the diary.<br /><br />the below command can be run to do it with a single command.<br />$sqlite3 ./diary.db "select * from entries"Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-79695349320093613762009-05-28T17:28:00.001+05:302009-05-28T17:28:09.477+05:30Recover deleted files from deleted partitionI never thought recovering files would be so easy. I had deleted my personal files on old Laptop to return it.<br />I also repartitioned the disk using the Ubuntu install CD.<br /><br />But I later realized later that I had deleted something that I had not backed up(so naive).<br /><br />There are two Linux tools that I found useful.<br />1) testdisk<br />2) photorec<br /><br />There is a project called <span style="color: rgb(0, 82, 136); font-size: 140%;"><b><a href="http://www.sysresccd.org/Main_Page">SystemRescueCd</a> </b></span>which includes useful <a href="http://www.sysresccd.org/System-tools">tools</a> to recover data.<br /><br />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.<br /><br />There is another tool called "photorec" which I used to recover deleted files of that partition.<br /><br />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.<br /> <div class="flockcredit" style="text-align: right; color: #CCC; font-size: x-small;">Blogged with the <a href="http://www.flock.com/blogged-with-flock" style="color: #999; font-weight: bold;" target="_new" title="Flock Browser">Flock Browser</a></div>Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-62113645104758494552009-05-07T11:01:00.006+05:302009-05-07T12:23:30.506+05:30analyze extremely large packet capture(tcpdump) fileI recently had to analyze an extremely large packet capture file to resolve a customer issue.<br />wireshark would crash trying to load the file(around 375 MB).<br />You start thinking 'why did the client not capture packets only when the problem occured?'.<br />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.<br /><br />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.<br /><br />tcpdump -r [largefile.pcap]<large.pcap\> <largefile.pcap> -w [filteredFile.pcap] <filtered.pcap\> <filtered.pcap>[filter] <interested_ip><br /><br />And now I have a pcap file that wireshark can load so that I can take a good look at what is happening.</interested_ip></filtered.pcap></filtered.pcap\></largefile.pcap></large.pcap\>Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-69607018843750532062008-09-17T10:55:00.002+05:302008-09-17T12:28:12.850+05:30The state of the internet reports from akamaiAkamai is publishing quarterly report on the internet called "The state of the internet"<br />These reports can be found here <a href="http://www.akamai.com/stateoftheinternet/">http://www.akamai.com/stateoftheinternet/</a><br />It can be downloaded after quick registration.<br /><br />The reports give interesting insights into how internet works.<br /><br />interesting things I found, relating to india:<br /><br />1) Reliance Globalcom is a big player in cable connectivity<br />sinip--<br /><span style="font-style: italic;">"In April 2008, Reliance Globalcom used satellite imagery to identify two ships that were in</span><br /><span style="font-style: italic;">the area of the original cable cuts, and that had improperly dropped anchor in the area.18</span><br /><span style="font-style: italic;">The owners of one of the ships paid $60,000 in damages to compensate for repairs, while</span><br /><span style="font-style: italic;">the second ship was impounded in Dubai."</span><br /><br />2) Some good things happening for india<br />snip--<br /><span style="font-style: italic;">"A consortium of 16 telecommunications firms has contracted to build a 15,000 km</span><br /><span style="font-style: italic;">submarine cable system linking India with Europe via the Middle East. The Europe India</span><br /><span style="font-style: italic;">Gateway (EIG) will cost $700 million and add 3.84 Tbps of capacity. The EIG consortium</span><br /><span style="font-style: italic;">includes firms from the US, Europe, Africa, the Middle East and India – including AT&T,</span><br /><span style="font-style: italic;">Verizon, BT, Cable & Wireless, MTN, Telecom Egypt, Omantel, Saudi Telecom Company,</span><br /><span style="font-style: italic;">du, Bharti Airtel, Gibraltar’s Gibtelecom, PT Comunicacoes of Portugal, Djibouti Telecom,</span><br /><span style="font-style: italic;">Maroc Telecom, Libya Telecom and Technology, and Telkom South Africa. Initial landings</span><br /><span style="font-style: italic;">are for the cable are planned for the UK, Portugal, Gibraltar, Morocco, Monaco, France,</span><br /><span style="font-style: italic;">Libya, Egypt, Saudi Arabia, Djibouti, Oman, the United Arab Emirates, and India.</span><br /><span style="font-style: italic;"><br />At least two other new cables serving much the same route as the EIG are also currently</span><br /><span style="font-style: italic;">being planned. Tata Communications is leading the consortium behind the IMeWe</span><br /><span style="font-style: italic;">system, due to add another potential 3.84 Tbps to the route when it goes live in 2009.</span><br /><span style="font-style: italic;">Also backing IMeWe are Etisalat, France Telecom, Ogero of Lebanon, PTCL of Pakistan,</span><br /><span style="font-style: italic;">TIS Sparkle of Italy, as well as EIG investors Bharti Airtel, Telecom Egypt and STC. Tata is</span><br /><span style="font-style: italic;">also behind the TGN Eurasia Cable System, set to link Mumbai with Paris, London and</span><br /><span style="font-style: italic;">Madrid via Egypt, with Seacom and Telecom Egypt as fellow sponsors.36</span><br /><span style="font-style: italic;">Along these lines, research firm Telegeography’s annual Global Bandwidth Research</span><br /><span style="font-style: italic;">Service noted that 25 new submarine cables will be built over the next three years"</span>Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-83608202579265736192008-08-19T16:17:00.002+05:302008-08-19T16:45:47.270+05:30Download youtube videos using cliveHow do you download youtube videos onto your computer? Do you use those web sites to do it?<br />There is a smarter way of doing it.<br />The clive command. It is available for Linux. Not sure about windows.<br />If you are on ubuntu life is easier... 'sudo apt-get install clive' will install clive.<br /><br />downloading a video is as easy as typing the command,<br />$clive 'http://www.youtube.com/watch?v=sOpCfIRA9MY'<br /><br />Do quote the url, it may have special characters that the shell interprets.<br /><br />Read the man page for more details.<br />The feature that I liked is the ability to download multiple videos....<br /><br />put all video links in a file, ex: videos.list then,<br />$cat videos.list | cliveAnil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-77266094767678364442008-07-28T18:29:00.006+05:302008-07-29T19:28:41.928+05:30flip characters upside down - unicode trickYou ca get your sentences flipped using this link<br /><a href="http://www.revfad.com/flip.html">http://www.revfad.com/flip.html</a><br /><br />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.Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-50713741276859446232008-07-09T11:04:00.005+05:302008-07-09T12:00:54.465+05:30Image magic with ImageMagickThere are various graphical tools available for manipulating images. but Imagine doing this using command line. sounds geeky !<br />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.<br /><br />ImageMagick is a collection of tools that can help you do this.<br />You can download it from <a href="http://www.imagemagick.org/script/index.php">http://www.imagemagick.org/script/index.php</a> . On ubuntu install it by typing "sudo apt-get install imagemagick"<br />"man imagemagick" for man page of imagemagick.<br />You can also look at the man page of individual tools for more detailed information<br /><br />Useful Links:<br />--------------<br />Imagemagick page:<br /><a href="http://www.imagemagick.org/script/index.php">http://www.imagemagick.org/script/index.php</a><br /><br />found this page particularly useful.<br /><a href="http://www.imagemagick.org/Usage/">http://www.imagemagick.org/Usage/</a><br /><br />quick start to reduce image sizes:<br /><a href="http://www.linuxforums.org/forum/suse-linux-help/39848-how-reduce-jpeg-file-size-email.html">http://www.linuxforums.org/forum/suse-linux-help/39848-how-reduce-jpeg-file-size-email.html</a>Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-59259664051328644492008-06-02T11:42:00.010+05:302008-07-29T18:40:48.754+05:30Clip, cut, split mp3 files using ddI accidentally discovered a wonderful use of the dd command on ubuntu.<br /><br />clip mp3 files.<br /><br />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!<br /><br />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.<br /><br />The below command does it.<br />dd if="041-oru maalai.mp3" of="041-oru maalai_small.mp3" count=6000 skip=900<br /><br /><span style="font-weight: bold;">count</span> says how many blocks to copy.<br /><span style="font-weight: bold;">skip</span> says how many blocks to skip form the beginning of the file.<br />see man page for block sizes.<br /><br />now "041-oru maalai_small.mp3" is what I need.<br /><br />Given this, you can do a lot of stuff.<br />Possibilities are limited only by your imagination.<br />for example, you can clip a few file and cat them to form a single music file... WOW!Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0tag:blogger.com,1999:blog-736939280929801283.post-50655757179642009992008-05-30T10:14:00.004+05:302008-05-30T10:34:57.413+05:30Backup your installation using simple tools (dd, partimage)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 <a href="http://www.linuxquestions.org/questions/linux-newbie-8/learn-the-dd-command-362506/">anazing tutorial</a> <br /><br />there is a project called partimage, that is specifically meant for backing up and restoring your partitions.<br />partimage home - http://www.partimage.org/Main_Page<br />backup drive using ubuntu live cd - http://www.psychocats.net/ubuntu/partimage<br /><br />Now, I have backed my ubuntu and windows installations...Anil Kumar kainikarahttp://www.blogger.com/profile/11814875808393244404noreply@blogger.com0