<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><description>The difference makes the difference</description><title>Alan Haggai Alavi's Web Log</title><generator>Tumblr (3.0; @alanhaggai)</generator><link>http://blog.alanhaggai.org/</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/AlanHaggaiAlavisWebLog" /><feedburner:info uri="alanhaggaialavisweblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://tumblr.superfeedr.com/" /><feedburner:browserFriendly></feedburner:browserFriendly><item><title>Perl Weekly: A Free, Weekly Perl Email Newsletter</title><description>&lt;p&gt;I will like to introduce you to &lt;a href="http://perlweekly.com/"&gt;Perl Weekly&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;A free, once a week e-mail round-up of hand-picked news and articles about Perl.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Perl Weekly is managed by &lt;a href="http://szabgab.com/"&gt;Gabor Szabo&lt;/a&gt; of &lt;a href="http://pti.co.il/"&gt;Perl Training Israel&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://perlweekly.com/"&gt;Perl Weekly&lt;/a&gt; will help you keep up to date with the latest happenings in the Perl community from around the world. It features news about conferences and workshops so that you do not miss one. Articles superficially related to Perl are featured as well, to give rise to new ideas, borrow existing ideas from other communities or start discussions.&lt;/p&gt;

&lt;p&gt;Personally, I was able to learn and get ideas from the articles that were featured. Hence I recommend that you subscribe to it. If you have not subscribed to the e-mail newsletter yet, you may do so at: &lt;a href="http://perlweekly.com/"&gt;Perl Weekly&lt;/a&gt;. All past issues are &lt;a href="http://perlweekly.com/archive/"&gt;archived&lt;/a&gt;. &lt;a href="http://perlweekly.com/archive/8.html"&gt;Latest issue (week 8)&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Start blogging about Perl so that your articles will also be featured in &lt;a href="http://perlweekly.com/"&gt;Perl Weekly&lt;/a&gt; which is currently read by more than 990 subscribers (and steadily increasing).&lt;/p&gt;</description><link>http://blog.alanhaggai.org/post/10588407585</link><guid>http://blog.alanhaggai.org/post/10588407585</guid><pubDate>Sat, 24 Sep 2011 11:39:00 +0530</pubDate><category>perl</category><category>perlweekly</category></item><item><title>svn: Directory .svn containing working copy admin area is missing</title><description>&lt;p&gt;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;/p&gt;

&lt;pre&gt;&lt;code&gt;svn remove --force .sass-cache/
&lt;/code&gt;&lt;/pre&gt;</description><link>http://blog.alanhaggai.org/post/10429938455</link><guid>http://blog.alanhaggai.org/post/10429938455</guid><pubDate>Mon, 24 Aug 2009 21:41:00 +0530</pubDate><category>svn subversion</category></item><item><title>SSH Hosts</title><description>&lt;p&gt;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;/p&gt;

&lt;p&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;/p&gt;

&lt;pre&gt;&lt;code&gt;Host shell
User example
Hostname shell.example.com
Port 2345
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;That is it! You can now just &lt;code&gt;ssh shell&lt;/code&gt;.&lt;/p&gt;</description><link>http://blog.alanhaggai.org/post/10429937604</link><guid>http://blog.alanhaggai.org/post/10429937604</guid><pubDate>Thu, 14 May 2009 02:41:00 +0530</pubDate><category>ssh</category></item><item><title>Finding the latest linux kernel version</title><description>&lt;p&gt;I always like to run the latest linux kernel. I found that I kept checking &lt;a href="http://kernel.org/"&gt;&lt;a href="http://kernel.org/"&gt;http://kernel.org/&lt;/a&gt;&lt;/a&gt; at regular intervals. Thus this script was born: &lt;a href="http://alanhaggai.org/dev/latest_kernel.html"&gt;latest_kernel.pl&lt;/a&gt;.&lt;/p&gt;</description><link>http://blog.alanhaggai.org/post/10429934782</link><guid>http://blog.alanhaggai.org/post/10429934782</guid><pubDate>Thu, 25 Dec 2008 08:26:00 +0530</pubDate></item><item><title>WWW::Rapidshare::Free</title><description>&lt;p&gt;Just released &lt;a href="http://search.cpan.org/perldoc?WWW::Rapidshare::Free"&gt;&lt;code&gt;WWW::Rapidshare::Free&lt;/code&gt; 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!&lt;/p&gt;</description><link>http://blog.alanhaggai.org/post/10429933951</link><guid>http://blog.alanhaggai.org/post/10429933951</guid><pubDate>Tue, 23 Dec 2008 21:57:00 +0530</pubDate></item><item><title>Christmas Tree</title><description>&lt;p&gt;&lt;code&gt;perl -MAcme::POE::Tree -e 'Acme::POE::Tree-&gt;new()-&gt;run()'&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lrtb4szsXm1qzr1nm.png" alt=""/&gt;&lt;/p&gt;</description><link>http://blog.alanhaggai.org/post/10429933160</link><guid>http://blog.alanhaggai.org/post/10429933160</guid><pubDate>Tue, 23 Dec 2008 11:39:00 +0530</pubDate></item><item><title>Checking External (WAN) IP</title><description>&lt;p&gt;You can use:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;curl whatismyip.org
wget -qO - whatismyip.org
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;There are many other ways too.&lt;/p&gt;</description><link>http://blog.alanhaggai.org/post/10429932322</link><guid>http://blog.alanhaggai.org/post/10429932322</guid><pubDate>Wed, 26 Nov 2008 09:20:00 +0530</pubDate></item><item><title>General Purpose Bit Flag not being set</title><description>&lt;p&gt;This is an unreported bug in the &lt;a href="http://search.cpan.org/perldoc?Archive::Zip"&gt;Archive::Zip Perl module&lt;/a&gt;. 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’s &lt;a href="http://www.pkware.com/documents/casestudies/APPNOTE.TXT"&gt;application note on the .Zip file format&lt;/a&gt; states that these flags should be set.&lt;/p&gt;

&lt;p&gt;Please see: &lt;a href="http://use.perl.org/~alanhaggai/journal/37727"&gt;Update on General Purpose Bit Flag bug&lt;/a&gt; and &lt;a href="http://use.perl.org/~alanhaggai/journal/37735"&gt;Archive::Zip does not set General Purpose Bit Flag&lt;/a&gt;.&lt;/p&gt;</description><link>http://blog.alanhaggai.org/post/10429931240</link><guid>http://blog.alanhaggai.org/post/10429931240</guid><pubDate>Mon, 10 Nov 2008 22:14:00 +0530</pubDate><category>Zip</category><category>Perl</category><category>Fixing Bugs in the Archive Zip Perl Module</category></item><item><title>Bash Completion</title><description>&lt;p&gt;Bash completion is a very good feature in Bash. We are able to complete
filenames, just by pressing &lt;kbd&gt;TAB&lt;/kbd&gt;. I had downloaded a YouTube video
related to &lt;a href="http://youtube.com/watch?v=LxD44HO8dNQ"&gt;Tsar Bomba&lt;/a&gt;. Since YouTube videos are Flash Video files (.flv), I was
not able to complete their filenames by pressing &lt;kbd&gt;TAB&lt;/kbd&gt; in the terminal
when trying to invoke &lt;code&gt;mplayer&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;A quick inspection of &lt;code&gt;/etc/bash_completion&lt;/code&gt; solved the problem.&lt;/p&gt;

&lt;p&gt;In &lt;code&gt;mplayer(1) completion&lt;/code&gt; section,&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;_filedir '@(mp?(e)g|MP?(E)G|wm[av]|WM[AV]|avi|AVI|asf|ASF|vob|VOB|bin|BIN|dat|DAT|vcd|VCD|ps|PS|pes|PES|fli|FLI|viv|VIV|rm?(j)|RM?(J)|ra?(m)|RA?(M)|yuv|YUV|mov|MOV|qt|QT|mp[34]|MP[34]|og[gm]|OG[GM]|wav|WAV|dump|DUMP|mkv|MKV|m4a|M4A|aac|AAC|m2v|M2V|dv|DV|rmvb|RMVB|mid|MID|ts|TS|3gp|mpc|MPC|flac|FLAC|flv)'
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;flv&lt;/code&gt; was appended at the end. That was it. Problem solved! Happy viewing!&lt;/p&gt;</description><link>http://blog.alanhaggai.org/post/10429930358</link><guid>http://blog.alanhaggai.org/post/10429930358</guid><pubDate>Thu, 30 Oct 2008 01:29:00 +0530</pubDate><category>bash completion</category><category>bash</category></item><item><title>.Zip parser code</title><description>&lt;p&gt;The local subversion repository of &lt;a href="http://code.google.com/p/zipparser/"&gt;zip_parser has been migrated to Google
Code&lt;/a&gt; using &lt;code&gt;svnsync&lt;/code&gt;. Have to add support
for Zip64 and encrypted archives soon.&lt;/p&gt;</description><link>http://blog.alanhaggai.org/post/10429929518</link><guid>http://blog.alanhaggai.org/post/10429929518</guid><pubDate>Fri, 24 Oct 2008 23:30:00 +0530</pubDate><category>Zip</category><category>Perl</category><category>Fixing Bugs in the Archive Zip Perl Module</category><category>Parser</category></item><item><title>.Zip Parser</title><description>&lt;p&gt;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.&lt;/p&gt;</description><link>http://blog.alanhaggai.org/post/10429928452</link><guid>http://blog.alanhaggai.org/post/10429928452</guid><pubDate>Sun, 19 Oct 2008 06:12:00 +0530</pubDate><category>Zip</category><category>Perl</category><category>Fixing Bugs in the Archive Zip Perl Module</category></item><item><title>Introduction to LVM2</title><description>&lt;p&gt;This is a very basic introduction to LVM2 - Logical Volume Manager version 2.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;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.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Source: &lt;cite&gt;&lt;a href="http://en.wikipedia.org/wiki/Logical_volume_management"&gt;Wikipedia&lt;/a&gt;&lt;/cite&gt;.&lt;/p&gt;

&lt;p&gt;&lt;span class="warn"&gt;&lt;strong&gt;Be sure to create backups before proceeding with the conversion to LVM!&lt;/strong&gt;&lt;/span&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;pre&gt;&lt;code&gt;[alanhaggai@archer ~]$ sudo pvcreate /dev/sda5 /dev/sdb8
  No physical volume label read from /dev/sda5
  Physical volume "/dev/sda5" successfully created
  No physical volume label read from /dev/sdb8
  Physical volume "/dev/sdb8" successfully created
&lt;/code&gt;&lt;/pre&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;pre&gt;&lt;code&gt;[alanhaggai@archer ~]$ sudo vgcreate main /dev/sda5 /dev/sdb8
  Volume group "main" successfully created
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Logical volumes are to be created within a volume group:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[alanhaggai@archer ~]$ sudo lvcreate -L40G -nhome main
  Logical volume "home" created
&lt;/code&gt;&lt;/pre&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;p&gt;&lt;code&gt;[alanhaggai@archer ~]$ sudo mke2fs -j /dev/main/home&lt;/code&gt;&lt;/p&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 &lt;code&gt;/dev/mapper/{volume_group}-{logical_volume}&lt;/code&gt;.&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;pre&gt;&lt;code&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;/code&gt;&lt;/pre&gt;

&lt;p&gt;Volume groups have to be activated:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[alanhaggai@archer ~]$ sudo vgchange -ay
  1 logical volume(s) in volume group "main" now active
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;For an in-depth tutorial, refer &lt;a href="http://tldp.org/HOWTO/LVM-HOWTO/"&gt;LVM HOWTO&lt;/a&gt;.&lt;/p&gt;</description><link>http://blog.alanhaggai.org/post/10429927537</link><guid>http://blog.alanhaggai.org/post/10429927537</guid><pubDate>Sat, 27 Sep 2008 10:57:00 +0530</pubDate><category>resize</category><category>lvm</category><category>lvm2</category><category>filesystem</category><category>partition</category></item><item><title>Redirecting output to a file with sudo</title><description>&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;pre&gt;&lt;code&gt;[alanhaggai@archer ~]$ sudo touch test
[alanhaggai@archer ~]$ stat test
  File: `test'
  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 'hello' &gt; test
bash: test: Permission denied
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;sudo&lt;/code&gt; executes &lt;code&gt;echo 'hello'&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;p&gt;&lt;code&gt;sudo [-bEHPS] [-p prompt] [-u username⎪#uid] [VAR=value] {-i ⎪ -s ⎪ command}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;To circumvent this problem, we use:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[alanhaggai@archer ~]$ sudo bash -c 'echo "hello" &gt; test'
[alanhaggai@archer ~]$ cat test
hello
&lt;/code&gt;&lt;/pre&gt;</description><link>http://blog.alanhaggai.org/post/10429926611</link><guid>http://blog.alanhaggai.org/post/10429926611</guid><pubDate>Sat, 27 Sep 2008 07:55:00 +0530</pubDate><category>output redirection</category><category>bash</category><category>sudo</category></item><item><title>rm: cannot remove `file': Stale NFS file handle</title><description>&lt;p&gt;After some &lt;code&gt;cp -auv&lt;/code&gt; action and a SIGINT (&lt;kbd&gt;Ctrl + C&lt;/kbd&gt;), I was not able to remove some files. They all resulted in the above error, though it was not a NFS related error. A &lt;code&gt;fsck&lt;/code&gt; on the respective partition corrected it and I was able to remove the files.&lt;/p&gt;</description><link>http://blog.alanhaggai.org/post/10429925830</link><guid>http://blog.alanhaggai.org/post/10429925830</guid><pubDate>Fri, 26 Sep 2008 23:26:00 +0530</pubDate><category>cp</category><category>fsck</category><category>rm</category></item><item><title>Flock post</title><description>&lt;p&gt;This is a post from the &lt;a href="http://www.flock.com/"&gt;Flock Browser&lt;/a&gt;.&lt;/p&gt;</description><link>http://blog.alanhaggai.org/post/10429924822</link><guid>http://blog.alanhaggai.org/post/10429924822</guid><pubDate>Tue, 23 Sep 2008 02:10:00 +0530</pubDate><category>flock</category></item><item><title>Learn Kernel Command Using Linux System Calls</title><description>&lt;blockquote&gt;
  &lt;p&gt;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;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="http://www.ibm.com/developerworks/linux/library/l-system-calls/index.html?S_TACT=105AGX03&amp;S_CMP=ART"&gt;Read more&lt;/a&gt;&lt;/p&gt;</description><link>http://blog.alanhaggai.org/post/10429923974</link><guid>http://blog.alanhaggai.org/post/10429923974</guid><pubDate>Mon, 22 Sep 2008 02:02:00 +0530</pubDate><category>SCI</category><category>kernel</category><category>system call</category></item><item><title>Convert tabs to spaces in Vim</title><description>&lt;p&gt;Add the following to either &lt;code&gt;~/.vimrc&lt;/code&gt;, &lt;code&gt;/etc/vimrc&lt;/code&gt; or &lt;code&gt;/etc/vim/vimrc:&lt;/p&gt;&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;set tabstop=4       " The width of a TAB is set to 4.
                    " Still it is a \t. It is just that
                    " vim will interpret it to be having
                    " a width of 4.

set shiftwidth=4    " Intents will have a width of 4

set softtabstop=4   " Sets the number of columns for a TAB

set expandtab       " Expand TABs to spaces
&lt;/code&gt;&lt;/pre&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;pre&gt;&lt;code&gt;:set expandtab
:retab
&lt;/code&gt;&lt;/pre&gt;</description><link>http://blog.alanhaggai.org/post/10429922065</link><guid>http://blog.alanhaggai.org/post/10429922065</guid><pubDate>Fri, 19 Sep 2008 21:05:00 +0530</pubDate><category>vim</category></item><item><title>Setting up TV tuner card in GNU/Linux</title><description>&lt;p&gt;This post is an account of how I got my
&lt;a href="http://www.prolink-usa.com/english/product/mmpak/ppro.htm"&gt;PixelView PlayTV Pro tuner card&lt;/a&gt;
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;pre&gt;&lt;code&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;/code&gt;&lt;/pre&gt;

&lt;p&gt;Relevant kernel options:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Device Drivers ---&gt;
    &lt;*&gt; I2C support ---&gt;
        &lt;*&gt; I2C device interface
        [*] Autoselect pertinent helper modules
            I2C Hardware Bus support ---&gt;
                &lt;*&gt; Intel 82801 (ICH)
    Multimedia devices
        &lt;M&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 ---&gt;
            &lt;M&gt; Simple tuner support
            -M- TDA 9885/6/7 analog IF demodulator
        [*] Video capture adapters ---&gt;
            [*] Autoselect pertinent encoders/decoders and other helper chips
            &lt;M&gt; BT848 Video For Linux
            &lt;M&gt;     SAA6588 Radio Chip RDS decoder support on BT848 cards
&lt;/code&gt;&lt;/pre&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 &lt;code&gt;/etc/modprobe.conf&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;options bttv card=37
options bttv tuner=5
options bttv radio=1
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The values may be different for your card. Refer
&lt;a href="http://linuxtv.org/hg/v4l-dvb/file/tip/linux/Documentation/video4linux/CARDLIST.bttv"&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 &lt;code&gt;tvtime&lt;/code&gt;. Run &lt;code&gt;tvtime-scanner&lt;/code&gt; to scan for
channels. Run &lt;code&gt;tvtime&lt;/code&gt;. There are many other software for
&lt;a href="http://linuxtv.org/wiki/index.php/Software#An_Alphabetical_Overview_Listing"&gt;television viewers&lt;/a&gt;
in GNU/Linux.&lt;/p&gt;

&lt;p&gt;That is it. Good luck!&lt;/p&gt;</description><link>http://blog.alanhaggai.org/post/10429921248</link><guid>http://blog.alanhaggai.org/post/10429921248</guid><pubDate>Fri, 19 Sep 2008 09:35:00 +0530</pubDate><category>TV tuner card</category><category>bttv</category></item><item><title>How to close Konqueror tabs by middle clicking?</title><description>&lt;p&gt;Open the file: &lt;code&gt;~/.kde/share/config/konquerorrc&lt;/code&gt;. Under &lt;code&gt;[FMSettings]&lt;/code&gt;, add:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;MouseMiddleClickClosesTab=true
&lt;/code&gt;&lt;/pre&gt;</description><link>http://blog.alanhaggai.org/post/10429920364</link><guid>http://blog.alanhaggai.org/post/10429920364</guid><pubDate>Sun, 14 Sep 2008 04:01:00 +0530</pubDate><category>Konqueror</category><category>Tabs</category></item><item><title>Newbie’s introduction to GNU/Linux</title><description>&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;strong&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;/strong&gt;&lt;/p&gt;

&lt;p&gt;It is due to it’s adherence to the &lt;a href="http://www.gnu.org/philosophy/free-sw.html"&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;strong&gt;Why is the operating system named: GNU/Linux and not Linux as I used to
think?&lt;/strong&gt;&lt;/p&gt;

&lt;p&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="http://gnu.org/"&gt;&lt;acronym title="GNU is Not
Unix"&gt;GNU&lt;/acronym&gt;&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;strong&gt;I searched with the query ‘GNU/Linux’ and it came up with some pages giving
me links to distributions. What are ‘distributions’?&lt;/strong&gt;&lt;/p&gt;

&lt;p&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;strong&gt;Why do we need so many distributions? Why is there no ‘standard’
distribution?&lt;/strong&gt;&lt;/p&gt;

&lt;p&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;strong&gt;What is package management?&lt;/strong&gt;&lt;/p&gt;

&lt;p&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;

&lt;p&gt;I will write more soon… Do comment.&lt;/p&gt;</description><link>http://blog.alanhaggai.org/post/10429919553</link><guid>http://blog.alanhaggai.org/post/10429919553</guid><pubDate>Mon, 24 Dec 2007 06:28:00 +0530</pubDate><category>GNU/Linux</category><category>Linux</category><category>GNU</category></item></channel></rss>

