<?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:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7503333968519885441</id><updated>2024-11-01T16:10:06.235+05:30</updated><category term="Fixing Bugs in the Archive Zip Perl Module"/><category term="Perl"/><category term="Zip"/><category term="bash"/><category term="EULA"/><category term="Firefox"/><category term="GNU"/><category term="GNU/Linux"/><category term="Konqueror"/><category term="Linux"/><category term="Mozilla"/><category term="Parser"/><category term="SCI"/><category term="TV tuner card"/><category term="Tabs"/><category term="bash completion"/><category term="bttv"/><category term="cp"/><category term="filesystem"/><category term="flock"/><category term="fsck"/><category term="kernel"/><category term="lvm"/><category term="lvm2"/><category term="output redirection"/><category term="partition"/><category term="resize"/><category term="rm"/><category term="ssh"/><category term="sudo"/><category term="svn subversion"/><category term="system call"/><category term="vim"/><title type='text'>Alan Haggai Alavi&#39;s Web Log</title><subtitle type='html'>Your guide to GNU/Linux and new technologies</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>22</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7503333968519885441.post-5214411675236065775</id><published>2009-08-25T07:11:00.001+05:30</published><updated>2009-08-25T07:12:17.441+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="svn subversion"/><title type='text'>svn: Directory .svn containing working copy admin area is missing</title><content type='html'>While working with Subversion, I removed a directory (specifically &lt;code&gt;.sass-cache/&lt;/code&gt;) after placing it under version control without knowledge. Subversion failed to commit. I had to forcefully remove the already removed file to proceed.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;svn remove --force .sass-cache/&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/5214411675236065775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7503333968519885441/5214411675236065775' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/5214411675236065775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/5214411675236065775'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/2009/08/svn-directory-svn-containing-working.html' title='svn: Directory .svn containing working copy admin area is missing'/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7503333968519885441.post-6505164413424427316</id><published>2009-05-14T12:11:00.003+05:30</published><updated>2009-06-12T11:23:10.822+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="ssh"/><title type='text'>SSH Hosts</title><content type='html'>Why should &lt;code&gt;ssh shell.example.com -p 2345 -l example&lt;/code&gt; be used when you can use &lt;code&gt;ssh shell&lt;/code&gt;?&lt;br /&gt;
&lt;br /&gt;
Create &lt;code&gt;$HOME/.ssh/config&lt;/code&gt; file if it does not already exist. Populate it with the following data:&lt;br /&gt;
&lt;blockquote&gt;&lt;code&gt;Host shell&lt;br /&gt;
User example&lt;br /&gt;
Hostname shell.example.com&lt;br /&gt;
Port 2345&lt;br /&gt;
&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;
That is it! You can now just &lt;code&gt;ssh shell&lt;/code&gt;.</content><link rel='replies' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/6505164413424427316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7503333968519885441/6505164413424427316' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/6505164413424427316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/6505164413424427316'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/2009/05/ssh-hosts.html' title='SSH Hosts'/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7503333968519885441.post-935296408823675929</id><published>2008-12-25T18:56:00.000+05:30</published><updated>2008-12-25T19:38:03.182+05:30</updated><title type='text'>Finding the latest linux kernel version</title><content type='html'>I always like to run the latest linux kernel. I found that I kept checking &lt;a href=&#39;http://kernel.org/&#39;&gt;http://kernel.org/&lt;/a&gt; at regular intervals. Thus this script was born: &lt;a href=&#39;http://alanhaggai.org/dev/latest_kernel.html&#39;&gt;latest_kernel.pl&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/935296408823675929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7503333968519885441/935296408823675929' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/935296408823675929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/935296408823675929'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/2008/12/finding-latest-linux-kernel-version.html' title='Finding the latest linux kernel version'/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7503333968519885441.post-4730718594073579877</id><published>2008-12-24T08:27:00.000+05:30</published><updated>2008-12-24T08:30:31.954+05:30</updated><title type='text'>WWW::Rapidshare::Free</title><content type='html'>Just released &lt;a href=&#39;http://search.cpan.org/~haggai/WWW-Rapidshare-Free-0.01/&#39;&gt;WWW::Rapidshare::Free Perl module&lt;/a&gt; for all free users of Rapidshare. Check out the &lt;code&gt;example&lt;/code&gt; directory for a sample script. You can expect a GUI soon!</content><link rel='replies' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/4730718594073579877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7503333968519885441/4730718594073579877' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/4730718594073579877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/4730718594073579877'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/2008/12/wwwrapidsharefree.html' title='WWW::Rapidshare::Free'/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7503333968519885441.post-7382717372112727537</id><published>2008-12-23T22:09:00.000+05:30</published><updated>2008-12-23T22:12:58.162+05:30</updated><title type='text'>Christmas Tree</title><content type='html'>&lt;code&gt;perl -MAcme::POE::Tree -e &#39;Acme::POE::Tree-&gt;new()-&gt;run()&#39;&lt;/code&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/7382717372112727537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7503333968519885441/7382717372112727537' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/7382717372112727537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/7382717372112727537'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/2008/12/christmas-tree.html' title='Christmas Tree'/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7503333968519885441.post-1791658847261388039</id><published>2008-11-26T19:50:00.000+05:30</published><updated>2008-11-26T19:52:21.261+05:30</updated><title type='text'>Checking External (WAN) IP</title><content type='html'>You can use:&lt;br /&gt;
&lt;blockquote&gt;&lt;code&gt;&lt;br /&gt;
curl whatismyip.org&lt;br /&gt;
wget -qO - whatismyip.org&lt;br /&gt;
&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;
There are many other ways too.</content><link rel='replies' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/1791658847261388039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7503333968519885441/1791658847261388039' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/1791658847261388039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/1791658847261388039'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/2008/11/checking-external-wan-ip.html' title='Checking External (WAN) IP'/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7503333968519885441.post-8217894327428318529</id><published>2008-11-11T08:44:00.003+05:30</published><updated>2008-11-11T08:55:53.426+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Fixing Bugs in the Archive Zip Perl Module"/><category scheme="http://www.blogger.com/atom/ns#" term="Perl"/><category scheme="http://www.blogger.com/atom/ns#" term="Zip"/><title type='text'>General Purpose Bit Flag not being set</title><content type='html'>This is an unreported bug in the Archive::Zip Perl module. This means that the level of compression will not be stored in the archives that are created, which may cause trouble with some extractors while inflating. PKWARE&#39;s &lt;a href=&#39;http://www.pkware.com/documents/casestudies/APPNOTE.TXT&#39;&gt;application note on the .Zip file format&lt;/a&gt; states that these flags should be set.&lt;br /&gt;
&lt;br /&gt;
Please see: &lt;a href=&quot;http://use.perl.org/%7Ealanhaggai/journal/37727&quot; title=&quot;Update on General Purpose Bit Flag bug&quot;&gt;http://use.perl.org/~alanhaggai/journal/37727&lt;/a&gt; and &lt;a href=&quot;http://use.perl.org/%7Ealanhaggai/journal/37735&quot; title=&quot;Archive::Zip does not set General Purpose Bit Flag&quot;&gt;http://use.perl.org/~alanhaggai/journal/37735&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/8217894327428318529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7503333968519885441/8217894327428318529' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/8217894327428318529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/8217894327428318529'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/2008/11/general-purpose-bit-flag-not-being-set.html' title='General Purpose Bit Flag not being set'/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7503333968519885441.post-9177719476116249293</id><published>2008-10-30T10:59:00.007+05:30</published><updated>2008-10-30T11:31:55.830+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="bash"/><category scheme="http://www.blogger.com/atom/ns#" term="bash completion"/><title type='text'>Bash Completion</title><content type='html'>Bash completion is a very good feature in Bash. We are able to complete filenames, just by pressing &amp;lt;TAB&amp;gt;. I had downloaded a YouTube video related to &lt;a href=&#39;http://in.youtube.com/watch?v=LxD44HO8dNQ&#39; title=&#39;Tsar Bomba&#39;&gt;Tsar Bomba&lt;/a&gt;. Since YouTube videos are Flash Video files (.flv), I was not able to complete their filenames by pressing &amp;lt;TAB&amp;gt; in the terminal when trying to invoke &lt;code&gt;mplayer&lt;/code&gt;.&lt;br /&gt;
&lt;br /&gt;
A quick inspection of &lt;code&gt;/etc/bash_completion&lt;/code&gt; solved the problem.&lt;br /&gt;
&lt;br /&gt;
In &lt;code&gt;mplayer(1) completion&lt;/code&gt; section,&lt;br /&gt;
&lt;code&gt;_filedir &#39;@(mp?(e)g|MP?(E)G|wm[av]|WM[AV]|avi&lt;br /&gt;
|AVI|asf|ASF|vob|VOB|bin|BIN|dat|DAT|vcd|VCD|ps&lt;br /&gt;
|PS|pes|PES|fli|FLI|viv|VIV|rm?(j)|RM?(J)|ra?(m)|RA?&lt;br /&gt;
(M)|yuv|YUV|mov|MOV|qt|QT|mp[34]|MP[34]|og[gm]|OG[GM]&lt;br /&gt;
|wav|WAV|dump|DUMP|mkv|MKV|m4a|M4A|aac|AAC|m2v|M2V|dv&lt;br /&gt;
|DV|rmvb|RMVB|mid|MID|ts|TS|3gp|mpc|MPC|flac|FLAC|flv)&#39;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
flv was appended at the end. That was it. Problem solved! Happy viewing!</content><link rel='replies' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/9177719476116249293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7503333968519885441/9177719476116249293' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/9177719476116249293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/9177719476116249293'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/2008/10/bash-completion.html' title='Bash Completion'/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7503333968519885441.post-555412918113974002</id><published>2008-10-25T09:00:00.004+05:30</published><updated>2008-10-30T10:59:33.271+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Fixing Bugs in the Archive Zip Perl Module"/><category scheme="http://www.blogger.com/atom/ns#" term="Parser"/><category scheme="http://www.blogger.com/atom/ns#" term="Perl"/><category scheme="http://www.blogger.com/atom/ns#" term="Zip"/><title type='text'>.Zip parser code</title><content type='html'>The local subversion repository of zip_parser has been migrated to Google Code using &lt;code&gt;svnsync&lt;/code&gt;. Have to add support for Zip64 and encrypted archives soon.&lt;br /&gt;
&lt;br /&gt;
Project Home: &lt;a href=&#39;http://code.google.com/p/zipparser/&#39;&gt;http://code.google.com/p/zipparser/&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/555412918113974002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7503333968519885441/555412918113974002' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/555412918113974002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/555412918113974002'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/2008/10/zip-parser-code.html' title='.Zip parser code'/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7503333968519885441.post-3114566171679213180</id><published>2008-10-19T15:42:00.002+05:30</published><updated>2008-10-19T16:48:23.681+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Fixing Bugs in the Archive Zip Perl Module"/><category scheme="http://www.blogger.com/atom/ns#" term="Perl"/><category scheme="http://www.blogger.com/atom/ns#" term="Zip"/><title type='text'>.Zip Parser</title><content type='html'>The .Zip file parser has been completed. I will host the code soon, and probably convert it into a Perl module for analysing different types of .Zip files created by different software.</content><link rel='replies' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/3114566171679213180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7503333968519885441/3114566171679213180' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/3114566171679213180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/3114566171679213180'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/2008/10/zip-parser.html' title='.Zip Parser'/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7503333968519885441.post-3171025048628035824</id><published>2008-09-27T20:27:00.002+05:30</published><updated>2008-09-27T21:16:01.317+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="filesystem"/><category scheme="http://www.blogger.com/atom/ns#" term="lvm"/><category scheme="http://www.blogger.com/atom/ns#" term="lvm2"/><category scheme="http://www.blogger.com/atom/ns#" term="partition"/><category scheme="http://www.blogger.com/atom/ns#" term="resize"/><title type='text'>Introduction to LVM2</title><content type='html'>&lt;p&gt;This is a very basic introduction to LVM2 - Logical Volume Manager version 2. &lt;i&gt;&quot;In computer storage, logical volume management or LVM is a method of allocating space on mass storage devices that is more flexible than conventional partitioning schemes. In particular, a volume manager can concatenate, stripe together or otherwise combine partitions into larger virtual ones that can be resized or moved, possibly while it is being used.&quot;&lt;/i&gt; - Source: &lt;a href=&#39;http://en.wikipedia.org/wiki/Logical_volume_management&#39;&gt;Wikipedia&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Be sure to create backups before proceeding with the conversion to LVM.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There are three elements in LVM. They are volume group, physical volume and logical volume. If you want to use LVM, you have to enable support for LVM in the kernel. Most distributions have their kernels compiled with LVM support.&lt;/p&gt;

&lt;p&gt;A physical volume can be any device/partition that we are able to find in &lt;code&gt;/dev&lt;/code&gt;. For example, &lt;code&gt;/dev/sda2&lt;/code&gt;, &lt;code&gt;/dev/hda1&lt;/code&gt;, et cetera. A physical volume is indeed physical in this sense. We have to create physical volumes from these partitions. One partition corresponds to one physical volume. In the following tutorial, we will convert partitions named &lt;code&gt;sda5&lt;/code&gt; and &lt;code&gt;sdb8&lt;/code&gt; to LVM2 volumes.&lt;/p&gt;

&lt;p&gt;Creation of physical volumes:&lt;/p&gt;

&lt;blockquote&gt;&lt;code&gt;&lt;pre&gt;[alanhaggai@archer ~]$ sudo pvcreate /dev/sda5 /dev/sdb8
  No physical volume label read from /dev/sda5
  Physical volume &quot;/dev/sda5&quot; successfully created
  No physical volume label read from /dev/sdb8
  Physical volume &quot;/dev/sdb8&quot; successfully created&lt;/pre&gt;&lt;/code&gt;&lt;/blockquote&gt;

&lt;p&gt;Physical volumes have to be added to a volume group. A volume group is nothing but a collection of physical volumes and logical volumes. We will create one volume group named &lt;code&gt;main&lt;/code&gt;. Physical volumes add storage space to the volume group.&lt;/p&gt;

&lt;blockquote&gt;&lt;code&gt;[alanhaggai@archer ~]$ sudo vgcreate main /dev/sda5 /dev/sdb8
  Volume group &quot;main&quot; successfully created&lt;/code&gt;&lt;/blockquote&gt;

&lt;p&gt;Logical volumes are to be created within a volume group:&lt;/p&gt;

&lt;blockquote&gt;&lt;code&gt;&lt;pre&gt;[alanhaggai@archer ~]$ sudo lvcreate -L40G -nhome main
  Logical volume &quot;home&quot; created
&lt;/pre&gt;&lt;/code&gt;&lt;/blockquote&gt;

&lt;p&gt;The above command creates a logical volume of size 40 GB within the volume group &lt;code&gt;main&lt;/code&gt;. A file system is to be created for the logical volume:&lt;/p&gt;

&lt;blockquote&gt;&lt;code&gt;[alanhaggai@archer ~]$ sudo mke2fs -j /dev/main/home&lt;/code&gt;&lt;/blockquote&gt;

&lt;p&gt;An ext3 filesystem is created. The device nodes are arranged as &lt;code&gt;/dev/{volume_group}/{logical_volume}&lt;/code&gt; which are linked to /dev/mapper/{volume_group}-{logical_volume}.&lt;/p&gt;

&lt;p&gt;Resizing an lvm volume involves resizing the logical volume as well as the filesystem within it. &lt;strong&gt;Warning: Be careful while shrinking. Do not shrink to a size less than the size of the data in the volume. If shrunk so, it will result in loss of data.&lt;/strong&gt; An expansion involves passing a + value to the -L flag, and a shrink involves passing a - value.&lt;/p&gt;

&lt;blockquote&gt;&lt;code&gt;&lt;/code&gt;&lt;pre&gt;[alanhaggai@archer ~]$ sudo lvresize /dev/main/home -L+10G
  Extending logical volume home to 50.00 GB
  Logical volume home successfully resized

[alanhaggai@archer ~]$ sudo resize2fs /dev/main/home
resize2fs 1.40.8 (13-Mar-2008)
Filesystem at /dev/main/home is mounted on /home; on-line resizing required
old desc_blocks = 3, new_desc_blocks = 4
Performing an on-line resize of /dev/main/home to 13108224 (4k) blocks.
The filesystem on /dev/main/home is now 13108224 blocks long.&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;Volume groups have to be activated:&lt;/p&gt;

&lt;blockquote&gt;&lt;code&gt;[alanhaggai@archer ~]$ sudo vgchange -ay
  1 logical volume(s) in volume group &quot;main&quot; now active&lt;/code&gt;&lt;/blockquote&gt;

For an in-depth tutorial, refer: &lt;a href=&quot;http://tldp.org/HOWTO/LVM-HOWTO/&quot;&gt;http://tldp.org/HOWTO/LVM-HOWTO/&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/3171025048628035824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7503333968519885441/3171025048628035824' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/3171025048628035824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/3171025048628035824'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/2008/09/introduction-to-lvm2.html' title='Introduction to LVM2'/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7503333968519885441.post-7071575065574608844</id><published>2008-09-27T17:25:00.001+05:30</published><updated>2008-09-27T17:25:30.710+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="bash"/><category scheme="http://www.blogger.com/atom/ns#" term="output redirection"/><category scheme="http://www.blogger.com/atom/ns#" term="sudo"/><title type='text'>Redirecting output to a file with sudo</title><content type='html'>&lt;p&gt;Sometimes, we may need to redirect output to a file owned by &lt;code&gt;root&lt;/code&gt; ( or another user ) to which we have permission via &lt;code&gt;sudo&lt;/code&gt;.&lt;/p&gt;

&lt;blockquote&gt;&lt;code&gt;&lt;/code&gt;&lt;pre&gt;[alanhaggai@archer ~]$ sudo touch test
[alanhaggai@archer ~]$ stat test
  File: `test&#39;
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fe00h/65024d    Inode: 281248      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2008-09-27 17:08:29.000000000 +0530
Modify: 2008-09-27 17:24:03.000000000 +0530
Change: 2008-09-27 17:24:03.000000000 +0530
[alanhaggai@archer ~]$ sudo echo &#39;hello&#39; &amp;gt; test
bash: test: Permission denied&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;sudo&lt;/code&gt; executes &lt;code&gt;echo &#39;hello&#39;&lt;/code&gt; as &lt;code&gt;root&lt;/code&gt;. Then &lt;code&gt;bash&lt;/code&gt; tries to write the output to the file named &lt;code&gt;test&lt;/code&gt; as the user &lt;code&gt;alanhaggai&lt;/code&gt;. &lt;code&gt;man sudo&lt;/code&gt; states:&lt;/p&gt;

&lt;blockquote&gt;&lt;code&gt;sudo [-bEHPS] [-p prompt] [-u username⎪#uid] [VAR=value] {-i ⎪ -s ⎪ command}&lt;/code&gt;&lt;/blockquote&gt;

&lt;p&gt;To circumvent this problem, we use:&lt;/p&gt;

&lt;blockquote&gt;&lt;code&gt;[alanhaggai@archer ~]$ sudo bash -c &#39;echo &quot;hello&quot; &amp;gt; test&#39;
[alanhaggai@archer ~]$ cat test
hello&lt;/code&gt;&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/7071575065574608844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7503333968519885441/7071575065574608844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/7071575065574608844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/7071575065574608844'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/2008/09/redirecting-output-to-file-with-sudo.html' title='Redirecting output to a file with sudo'/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7503333968519885441.post-7916684819850236786</id><published>2008-09-27T08:56:00.001+05:30</published><updated>2008-09-27T08:56:21.070+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="cp"/><category scheme="http://www.blogger.com/atom/ns#" term="fsck"/><category scheme="http://www.blogger.com/atom/ns#" term="rm"/><title type='text'>rm: cannot remove `pugs&amp;#39;: Stale NFS file handle</title><content type='html'>After some &lt;code&gt;cp -auv&lt;/code&gt; action and a SIGINT (Ctrl + C), I was not able to remove some files. They all resulted in the above error, though it was not a NFS related error. An &lt;code&gt;fsck&lt;/code&gt; for the respective partition corrected it and I was able to remove the files.</content><link rel='replies' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/7916684819850236786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7503333968519885441/7916684819850236786' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/7916684819850236786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/7916684819850236786'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/2008/09/rm-cannot-remove-pugs-stale-nfs-file.html' title='rm: cannot remove `pugs&amp;#39;: Stale NFS file handle'/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7503333968519885441.post-7820489627118762779</id><published>2008-09-23T11:40:00.001+05:30</published><updated>2008-09-23T11:40:03.777+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="flock"/><title type='text'>Flock post</title><content type='html'>This is a post from the &lt;b&gt;Flock&lt;/b&gt; web browser.&lt;div class=&quot;flockcredit&quot; style=&quot;text-align: right; color: #CCC; font-size: x-small;&quot;&gt;Blogged with the &lt;a href=&quot;http://www.flock.com/blogged-with-flock&quot; style=&quot;color: #999; font-weight: bold;&quot; target=&quot;_new&quot; title=&quot;Flock Browser&quot;&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/7820489627118762779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7503333968519885441/7820489627118762779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/7820489627118762779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/7820489627118762779'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/2008/09/flock-post.html' title='Flock post'/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7503333968519885441.post-7309810027276891381</id><published>2008-09-22T11:32:00.002+05:30</published><updated>2008-09-27T21:17:36.311+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="kernel"/><category scheme="http://www.blogger.com/atom/ns#" term="SCI"/><category scheme="http://www.blogger.com/atom/ns#" term="system call"/><title type='text'>Learn Kernel Command Using Linux System Calls</title><content type='html'>Linux system calls -- we use them every day. But do you know how a system call is performed from user-space to the kernel? Explore the Linux system call interface (SCI), learn how to add new system calls and discover utilities related to the SCI.In this article, I explore the Linux SCI, demonstrate adding a system call to the 2.6.20 kernel.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#39;http://www.ibm.com/developerworks/linux/library/l-system-calls/index.html?S_TACT=105AGX03&amp;amp;S_CMP=ART&#39;&gt;read more&lt;/a&gt; | &lt;a href=&#39;http://digg.com/linux_unix/Learn_Kernel_Command_Using_Linux_System_Calls&#39;&gt;digg story&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/7309810027276891381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7503333968519885441/7309810027276891381' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/7309810027276891381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/7309810027276891381'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/2008/09/learn-kernel-command-using-linux-system.html' title='Learn Kernel Command Using Linux System Calls'/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7503333968519885441.post-2966334723472411224</id><published>2008-09-22T11:30:00.002+05:30</published><updated>2008-09-27T21:18:23.107+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="EULA"/><category scheme="http://www.blogger.com/atom/ns#" term="Firefox"/><category scheme="http://www.blogger.com/atom/ns#" term="Mozilla"/><title type='text'>Mozilla to remove Firefox EULA</title><content type='html'>Ubuntu users who couldn’t stand the idea of a EULA (End User License Agreement) for the popular Firefox Web browser are going to get their way. The Mozilla Foundation’s chairperson, Mitchell Baker, has agreed to entirely remove the Firefox EULA.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#39;http://practical-tech.com/operating-system/mozilla-to-remove-firefox-eula/&#39;&gt;read more&lt;/a&gt; | &lt;a href=&#39;http://digg.com/linux_unix/Mozilla_to_remove_Firefox_EULA&#39;&gt;digg story&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/2966334723472411224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7503333968519885441/2966334723472411224' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/2966334723472411224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/2966334723472411224'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/2008/09/mozilla-to-remove-firefox-eula.html' title='Mozilla to remove Firefox EULA'/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7503333968519885441.post-8453328649815644510</id><published>2008-09-20T06:35:00.004+05:30</published><updated>2008-09-27T21:18:35.550+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="vim"/><title type='text'>Convert tabs to spaces in Vim</title><content type='html'>&lt;p&gt;Add the following to ~/.vimrc, /etc/vimrc or /etc/vim/vimrc:&lt;/p&gt;

&lt;blockquote&gt;&lt;pre&gt;
set tabstop=4       &quot; The width of a TAB is set to 4.
                    &quot; Still it is a \t. It is just that
                    &quot; vim will interpret it to be having
                    &quot; a width of 4.

set shiftwidth=4    &quot; Intents will have a width of 4

set softtabstop=4   &quot; Sets the number of columns for a TAB

set expandtab       &quot; Expand TABs to spaces
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;To convert tabs to spaces in an already existing file, open it in vim and enter these:&lt;/p&gt;

&lt;blockquote&gt;
:set expandtab
:retab
&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/8453328649815644510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7503333968519885441/8453328649815644510' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/8453328649815644510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/8453328649815644510'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/2008/09/convert-tabs-to-spaces-in-vim.html' title='Convert tabs to spaces in Vim'/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7503333968519885441.post-7959494902485953052</id><published>2008-09-19T19:05:00.009+05:30</published><updated>2008-09-27T21:19:28.014+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="bttv"/><category scheme="http://www.blogger.com/atom/ns#" term="TV tuner card"/><title type='text'>Setting up TV tuner card in GNU/Linux</title><content type='html'>&lt;p&gt;This post is an account of how I got my PixelView PlayTV Pro tuner card to work in GNU/Linux (Arch Linux). It shall work for bt848, bt878 or Fusion 878A chip based cards. I hope it may be of help to all.&lt;/p&gt;

&lt;p&gt;Kernel version: 2.6.26.5&lt;/p&gt;

&lt;p&gt;I had to compile the kernel atleast thrice to get it right. Everytime, I missed the menu where I was to select the tuner as well as the card. This was because I was stripping down the kernel for my system and did not compile I2C(I-square-C) support. However, I2C had to be compiled-in.&lt;/p&gt;

&lt;blockquote&gt;
[alanhaggai@archer ~]$ sudo lspci | grep Multimedia
06:02.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
06:02.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
&lt;/blockquote&gt;

&lt;p&gt;Relevant kernel options:&lt;/p&gt;

&lt;blockquote&gt;&lt;pre&gt;
Device Drivers ---&amp;gt;
    &amp;lt;*&amp;gt; I2C support ---&amp;gt;
        &amp;lt;*&amp;gt; I2C device interface
        [*] Autoselect pertinent helper modules
            I2C Hardware Bus support ---&amp;gt;
                &amp;lt;*&amp;gt; Intel 82801 (ICH)
    Multimedia devices
        &amp;lt;M&amp;gt; Video For Linux
        [*] Enable Video For Linux API 1 (DEPRECATED)
        -*- Enable Video For Linux API 1 compatible Layer
        [*] Load and attach frontend and tuner driver modules as needed
        [*] Customize analog and hybrid tuner modules to build ---&amp;gt;
            &amp;lt;M&amp;gt; Simple tuner support
            -M- TDA 9885/6/7 analog IF demodulator
        [*] Video capture adapters ---&amp;gt;
            [*] Autoselect pertinent encoders/decoders and other helper chips
            &amp;lt;M&amp;gt; BT848 Video For Linux
            &amp;lt;M&amp;gt;     SAA6588 Radio Chip RDS decoder support on BT848 cards
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;This is the setup for my system. It may be different for your system. All the above may be compiled as modules. Compile and install the kernel.&lt;/p&gt;

&lt;p&gt;Add the following to /etc/modprobe.conf&lt;/p&gt;

&lt;blockquote&gt;
options bttv card=37
options bttv tuner=5
options bttv radio=1
&lt;/blockquote&gt;

&lt;p&gt;The values may be different for your card. Refer &lt;a href=&#39;http://linuxtv.org/hg/v4l-dvb/file/tip/linux/Documentation/video4linux/CARDLIST.bttv&#39;&gt;cardlist&lt;/a&gt; to find out the values for your tuner card. Trial and error may help, if you are not sure about your card.&lt;/p&gt;

&lt;p&gt;Reboot to the new kernel. Install tvtime. Run tvtime-scanner to scan for channels. Run tvtime. There are many other software for &lt;a href=&#39;http://linuxtv.org/wiki/index.php/Software#An_Alphabetical_Overview_Listing&#39;&gt;television viewers&lt;/a&gt; in GNU/Linux.&lt;/p&gt;

&lt;p&gt;That is it. Good luck!&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/7959494902485953052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7503333968519885441/7959494902485953052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/7959494902485953052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/7959494902485953052'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/2008/09/setting-up-tv-tuner-card-in-gnulinux.html' title='Setting up TV tuner card in GNU/Linux'/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7503333968519885441.post-2367538282001505612</id><published>2008-09-14T13:31:00.007+05:30</published><updated>2008-09-27T21:21:05.182+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Konqueror"/><category scheme="http://www.blogger.com/atom/ns#" term="Tabs"/><title type='text'>How to close Konqueror tabs by middle clicking?</title><content type='html'>&lt;p&gt;Open the file: ~/.kde/share/config/konquerorrc&lt;br /&gt;
Under &lt;code&gt;[FMSettings]&lt;/code&gt;, add:&lt;/p&gt;&lt;blockquote&gt;MouseMiddleClickClosesTab=true&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/2367538282001505612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7503333968519885441/2367538282001505612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/2367538282001505612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/2367538282001505612'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/2008/09/how-to-close-konqueror-tabs-by-middle.html' title='How to close Konqueror tabs by middle clicking?'/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7503333968519885441.post-838345448392240810</id><published>2007-12-24T16:58:00.001+05:30</published><updated>2008-09-27T21:21:40.730+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="GNU"/><category scheme="http://www.blogger.com/atom/ns#" term="GNU/Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><title type='text'>Newbie’s introduction to GNU/Linux</title><content type='html'>&lt;p&gt;First of all, I am happy that you have chosen to get `freed’ from the closed-source world. Welcome to this new world which lives on and around it’s friendly community. Let me give you a short introduction before we move on to the real transition:&lt;/p&gt;&lt;p&gt;&lt;b&gt;“What makes GNU/Linux (yes, the operating system is named: GNU/Linux and it is the kernel that is named Linux) interesting and a strong operating system?”&lt;/b&gt; It is due to it’s adherence to the &lt;a href=&quot;http://www.gnu.org/philosophy/free-sw.html&quot; title=&quot;Free Software Philosophy&quot;&gt;Free Software Philosophy&lt;/a&gt;. Most software available (and there are many many to choose from!) come along with the source. Source is good in a way that it can be compiled in your own system so that it will make use of your hardware’s capabilities to the best. Also, you are able to edit, modify and use the way you want the software to run for you. This gets you the best software as all software is made for and by people like you and me. Bugs are reported and always solved as fast they can be.&lt;/p&gt;&lt;p&gt;&lt;b&gt;“Why is the operating system named: GNU/Linux and not Linux as I used to think?”&lt;/b&gt; Linux is the kernel. For an operating system, the kernel is the most important aspect or core of the system. It abstracts the hardware aspects from the software and offers an interface for software so that it can deal with the hardware more easily and can be (mostly) generally coded without knowing the clients’ hardware. Having just the kernel is not so useful. Furthermore, to be called an operating system, the system should have essential utilities and applications. We need software that uses the kernel. &lt;a href=&quot;http://gnu.org/&quot; title=&quot;GNU (GNU is Not Unix)&quot;&gt;GNU (GNU is Not Unix)&lt;/a&gt; provides many many range of software for this kernel. Thus, the correct name for the operating system is GNU/Linux.&lt;/p&gt;&lt;p&gt;&lt;b&gt;“I searched with the query `GNU/Linux’ and it came up with some pages giving me links to distributions. What are `distributions’?”&lt;/b&gt; Distributions (or `distro’, as they are called in the community) can be thought of flavors like just we think about ice-creams. We have chocolate, vanilla, strawberry and other flavors for ice-creams. Such is the case with GNU/Linux. There are many distributions. They are obviously based on the Linux kernel. So, what makes them different? There are many or at least some differences among different distributions. For example, distributions differ according to philosophy, package management, directory differences, support, commercial or free, release dates, software used, etc.&lt;/p&gt;&lt;p&gt;&lt;b&gt;“Why do we need so many distributions? Why is there no `standard’ distribution?”&lt;/b&gt; With GNU/Linux comes the freedom of choice. One person’s interest may not be of interest to another person. So you are able to choose from the three hundred or so distributions which suits you the best.&lt;/p&gt;&lt;p&gt;&lt;b&gt;“What is package management?”&lt;/b&gt; Package management, as the name suggests, allows for the management of software packages. They provide an easy way to install, update or remove packages. They also automatically resolve dependencies, thus relieving the user from manually installing the software.&lt;/p&gt;I will write more soon… Do comment.</content><link rel='replies' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/838345448392240810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7503333968519885441/838345448392240810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/838345448392240810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/838345448392240810'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/2007/12/newbies-introduction-to-gnulinux.html' title='Newbie’s introduction to GNU/Linux'/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7503333968519885441.post-7169197805103679130</id><published>2007-12-22T10:19:00.000+05:30</published><updated>2007-12-22T12:15:45.627+05:30</updated><title type='text'></title><content type='html'>Testing gnome applet
&lt;p&gt;The applet is posting blogs well :-)&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/7169197805103679130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7503333968519885441/7169197805103679130' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/7169197805103679130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/7169197805103679130'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/2007/12/testing-gnome-applet-applet-is-posting.html' title=''/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7503333968519885441.post-4730230491972103541</id><published>2007-05-13T02:15:00.000+05:30</published><updated>2007-05-13T02:16:12.545+05:30</updated><title type='text'>Testing</title><content type='html'>The &lt;span style=&quot;color: rgb(255, 153, 0);font-size:100%;&quot; &gt;&lt;span style=&quot;font-weight: bold; font-style: italic;&quot;&gt;test post&lt;/span&gt;&lt;/span&gt; is working fine :)</content><link rel='replies' type='application/atom+xml' href='http://alanhaggai.blogspot.com/feeds/4730230491972103541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7503333968519885441/4730230491972103541' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/4730230491972103541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7503333968519885441/posts/default/4730230491972103541'/><link rel='alternate' type='text/html' href='http://alanhaggai.blogspot.com/2007/05/testing.html' title='Testing'/><author><name>Alan Haggai Alavi</name><uri>http://www.blogger.com/profile/03396341159740485807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCr17SDR09AbT1Xawk375RvacwxhHYeBVkun_W2vxlen5qCrWdL0cLcyNzZbotvdgVYjzLm40ndVklTiWXmFoKIN9Dd6CyPrwCqCSfPXcT_kuM-apbRfXtoWxZNtlT2k/s220/alanhaggai.jpeg'/></author><thr:total>0</thr:total></entry></feed>