<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Info Talk</title>
	<atom:link href="http://rutmandal.info/infotalk/feed/" rel="self" type="application/rss+xml" />
	<link>http://rutmandal.info/infotalk</link>
	<description>I talk IT talk</description>
	<pubDate>Sun, 19 Apr 2009 14:59:32 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>Post crash debugging in Linux</title>
		<link>http://rutmandal.info/infotalk/2009/04/19/post-crash-debugging-in-linux/</link>
		<comments>http://rutmandal.info/infotalk/2009/04/19/post-crash-debugging-in-linux/#comments</comments>
		<pubDate>Sun, 19 Apr 2009 14:59:32 +0000</pubDate>
		<dc:creator>Chirag</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://rutmandal.info/infotalk/?p=71</guid>
		<description><![CDATA[- Enable core dump for your current session
  chandra # ulimit -c unlimited
- Verify it is enabled
  chandra # ulimit -c
  unlimited
- Once you have a crash while running executable, check for core dump file.
 chandra # ls -al core*
 -rw&#8212;&#8212;- 1 root root 50966528 Mar 26 14:57 core.7812
- Open your executable [...]]]></description>
			<content:encoded><![CDATA[<p>- Enable core dump for your current session<br />
  chandra # ulimit -c unlimited</p>
<p>- Verify it is enabled<br />
  chandra # ulimit -c<br />
  unlimited</p>
<p>- Once you have a crash while running executable, check for core dump file.<br />
 chandra # ls -al core*<br />
 -rw&#8212;&#8212;- 1 root root 50966528 Mar 26 14:57 core.7812</p>
<p>- Open your executable in kdbg. Then, import core dump file from File -&gt; Core Dump.</p>
<p>You will see where the exe crashed and all memory and local variable goodies.</p>
]]></content:encoded>
			<wfw:commentRss>http://rutmandal.info/infotalk/2009/04/19/post-crash-debugging-in-linux/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tutorials - C++/PHP etc</title>
		<link>http://rutmandal.info/infotalk/2009/04/15/tutorials-cphp-etc/</link>
		<comments>http://rutmandal.info/infotalk/2009/04/15/tutorials-cphp-etc/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 19:25:21 +0000</pubDate>
		<dc:creator>Chirag</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[c++]]></category>

		<guid isPermaLink="false">http://rutmandal.info/infotalk/?p=68</guid>
		<description><![CDATA[http://www.java2s.com/
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.java2s.com/" target="_blank">http://www.java2s.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://rutmandal.info/infotalk/2009/04/15/tutorials-cphp-etc/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Asterisk 1.6.0.6 on Debian 4.0</title>
		<link>http://rutmandal.info/infotalk/2009/03/02/asterisk-1606-on-debian-40/</link>
		<comments>http://rutmandal.info/infotalk/2009/03/02/asterisk-1606-on-debian-40/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 19:20:15 +0000</pubDate>
		<dc:creator>Chirag</dc:creator>
		
		<category><![CDATA[Asterisk]]></category>

		<category><![CDATA[Infrastructure]]></category>

		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://rutmandal.info/infotalk/?p=66</guid>
		<description><![CDATA[- Check Linux kernel version
# uname -a
Linux ElectronWork 2.6.24-etchnhalf.1-686 #1 SMP Fri Dec 26 04:10:16 UTC 2008 i686 GNU/Linux
- Check Debian version
# cat /etc/debian_version
4.0
- Install various pre-requisite libraries.
# apt-get install make
# apt-get install gcc
# apt-get install g++
# apt-get install libc-dev
# apt-get install bison
# apt-get install ncurses-dev
# apt-get install libssl-dev
# apt-get install libnewt-dev
# apt-get install zlib1g-dev
# [...]]]></description>
			<content:encoded><![CDATA[<p>- Check Linux kernel version<br />
<em># uname -a</em><br />
Linux ElectronWork 2.6.24-etchnhalf.1-686 #1 SMP Fri Dec 26 04:10:16 UTC 2008 i686 GNU/Linux</p>
<p>- Check Debian version<br />
<em># cat /etc/debian_version</em><br />
4.0</p>
<p>- Install various pre-requisite libraries.<br />
<em># apt-get install make<br />
# apt-get install gcc<br />
# apt-get install g++<br />
# apt-get install libc-dev<br />
# apt-get install bison<br />
# apt-get install ncurses-dev<br />
# apt-get install libssl-dev<br />
# apt-get install libnewt-dev<br />
# apt-get install zlib1g-dev<br />
# apt-get install initrd-tools<br />
# apt-get install cvs<br />
# apt-get install procps<br />
# apt-get install doxygen<br />
</em></p>
<p>- Get Asterisk package.<br />
<em># wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.6.0.6.tar.gz<br />
# tar xvzf asterisk-1.6.0.6.tar.gz<br />
# cd asterisk-1.6.0.6<br />
</em></p>
<p>- Install Asterisk<br />
<em># ./configure<br />
</em>If you see asterisk symbol in the end, configuration is successful. Else, grep for &#8220;no&#8221; in config.log and try to install those missing libraries/utilities.<br />
<em># make</em><br />
takes ~11min<br />
<em># make install</em><br />
<em># make samples</em> (optional)<br />
<em># make progdocs</em> (optional)</p>
<p>- Test your installation.<br />
<em># asterisk -r</em></p>
]]></content:encoded>
			<wfw:commentRss>http://rutmandal.info/infotalk/2009/03/02/asterisk-1606-on-debian-40/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Attributes of Objects</title>
		<link>http://rutmandal.info/infotalk/2009/01/02/attributes-of-objects/</link>
		<comments>http://rutmandal.info/infotalk/2009/01/02/attributes-of-objects/#comments</comments>
		<pubDate>Fri, 02 Jan 2009 02:41:38 +0000</pubDate>
		<dc:creator>Chirag</dc:creator>
		
		<category><![CDATA[c++]]></category>

		<guid isPermaLink="false">http://rutmandal.info/infotalk/?p=64</guid>
		<description><![CDATA[Attributes of Objects - Chirag Patel                   January 01, 2009
type
- Determines size of object and its memory address alignment
- the values the object can have
- the operations that can be performed on the object
- a function type specifies [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Attributes of Objects - Chirag Patel                   January 01, 2009</strong></p>
<p><strong>type</strong><br />
- Determines size of object and its memory address alignment<br />
- the values the object can have<br />
- the operations that can be performed on the object<br />
- a function type specifies function parameter lists and return type</p>
<p><strong>scope</strong><br />
- portion of translation unit (source code produced by preprocessor from source and header files) in which the name is visible<br />
- file scope, block scope, function prototype scope, function scope<br />
- C++ has namespace scope and class scope in addition</p>
<p><strong>storage duration</strong><br />
- lifetime of the storage of object<br />
- static, automatic or dynamic<br />
- enumeration constants, functions, labels, types - do not have storage duration</p>
<p><strong>linkage</strong><br />
- no linkage =&gt; entity can&#8217;t be referenced via name from anywhere else<br />
- internal linkage =&gt; entity that can be referenced via name declared in the same scope or in other scopes of the same translation unit<br />
- external linkage =&gt; in addition to capabilities similar to internal linkage, this can be referenced in other translation units</p>
<p>keywords: auto, extern, register, static - defines storage duration and/or linkage</p>
]]></content:encoded>
			<wfw:commentRss>http://rutmandal.info/infotalk/2009/01/02/attributes-of-objects/feed/</wfw:commentRss>
		</item>
		<item>
		<title>System language for Debian Linux</title>
		<link>http://rutmandal.info/infotalk/2008/12/31/system-language-for-debian-linux/</link>
		<comments>http://rutmandal.info/infotalk/2008/12/31/system-language-for-debian-linux/#comments</comments>
		<pubDate>Wed, 31 Dec 2008 03:04:08 +0000</pubDate>
		<dc:creator>Chirag</dc:creator>
		
		<category><![CDATA[Infrastructure]]></category>

		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://rutmandal.info/infotalk/?p=61</guid>
		<description><![CDATA[System language for Debian Linux - Chirag Patel December 30, 2008
I ran into a simple but typical issue.
I was installing Debian 4 (kernel 2.6) today using minimal boot image CD and out of curiocity I selected its installation language to Gujarati. All screens showed almost 90% of the content in Gujarati (incorrectly translated at many [...]]]></description>
			<content:encoded><![CDATA[<p><strong>System language for Debian Linux - Chirag Patel December 30, 2008</strong></p>
<p>I ran into a simple but typical issue.</p>
<p>I was installing Debian 4 (kernel 2.6) today using minimal boot image CD and out of curiocity I selected its installation language to Gujarati. All screens showed almost 90% of the content in Gujarati (incorrectly translated at many places though). I select &#8220;English -US&#8221; as my choice of language for system locales. But, after installation and reboot, all the user screens had weird characters on screen (I was expecting English). I kept looking for a way to change locales and did this:</p>
<p>- I opened root terminal.<br />
- Entered following command:<br />
<em>   chirag@work~# dpkg-reconfigure locales</em><br />
- I selected &#8220;en-US-utf-8&#8243; from the list shown.<br />
- After OKing this and rebooting the system, I found characters known to me!</p>
]]></content:encoded>
			<wfw:commentRss>http://rutmandal.info/infotalk/2008/12/31/system-language-for-debian-linux/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wordpress SQL hack</title>
		<link>http://rutmandal.info/infotalk/2008/12/28/wordpress-sql-hack/</link>
		<comments>http://rutmandal.info/infotalk/2008/12/28/wordpress-sql-hack/#comments</comments>
		<pubDate>Sun, 28 Dec 2008 02:10:57 +0000</pubDate>
		<dc:creator>Chirag</dc:creator>
		
		<category><![CDATA[MySql]]></category>

		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://rutmandal.info/infotalk/?p=59</guid>
		<description><![CDATA[http://www.smashingmagazine.com/2008/12/18/8-useful-wordpress-sql-hacks/
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.smashingmagazine.com/2008/12/18/8-useful-wordpress-sql-hacks/">http://www.smashingmagazine.com/2008/12/18/8-useful-wordpress-sql-hacks/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://rutmandal.info/infotalk/2008/12/28/wordpress-sql-hack/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PCI standard requirements</title>
		<link>http://rutmandal.info/infotalk/2008/12/28/pci-standard-requirements/</link>
		<comments>http://rutmandal.info/infotalk/2008/12/28/pci-standard-requirements/#comments</comments>
		<pubDate>Sun, 28 Dec 2008 01:31:12 +0000</pubDate>
		<dc:creator>Chirag</dc:creator>
		
		<category><![CDATA[Infrastructure]]></category>

		<guid isPermaLink="false">http://rutmandal.info/infotalk/?p=57</guid>
		<description><![CDATA[PCI standard requirements - compiled by Chirag Patel  December 27, 2008
Payment Card Industry (PCI) requirements of Data Security Standard (DSS) include following basic compliances:
- Install and maintain firewall configuration to protect card holder data.
- Do not use vendor supplied defaults for system passwords and other secuirity parameters.
- Protect stored cardholder data.
- Encrypt transmission of [...]]]></description>
			<content:encoded><![CDATA[<p><strong>PCI standard requirements - compiled by Chirag Patel  December 27, 2008</strong></p>
<p>Payment Card Industry (PCI) requirements of Data Security Standard (DSS) include following basic compliances:</p>
<p>- Install and maintain firewall configuration to protect card holder data.<br />
- Do not use vendor supplied defaults for system passwords and other secuirity parameters.<br />
- Protect stored cardholder data.<br />
- Encrypt transmission of cardholder data across open, public networks.<br />
- Use and regularly update anti-virus software.<br />
- Develop and maintain secure systems and applications.<br />
- Restrict access to cardholder data by business need-to-know.<br />
- Assign a unique ID to each person with computer access.<br />
- Restrict physical access to cardholder data.<br />
- Track and monitor all access to network resources and cardholder data.<br />
- Regularly test security systems and processes.<br />
- Maintain a policy that addresses information security.</p>
<p><em>(Ref: WEBSITE magazine November, 2008)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://rutmandal.info/infotalk/2008/12/28/pci-standard-requirements/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Memory thrashing</title>
		<link>http://rutmandal.info/infotalk/2008/12/28/memory-thrashing/</link>
		<comments>http://rutmandal.info/infotalk/2008/12/28/memory-thrashing/#comments</comments>
		<pubDate>Sun, 28 Dec 2008 01:20:58 +0000</pubDate>
		<dc:creator>Chirag</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://rutmandal.info/infotalk/?p=55</guid>
		<description><![CDATA[Memory Thrashing - compiled by Chirag Patel   December 27, 2008
(Ref: Embedded Systems Design June 2008)
Memory threshing is a typical problem that goes unnotices while programming time-critical systems. Translation Look-aside Buffers (TLB) are used for data and instruction cache. There are two main cache-replacement schemes: 1) Least Frequently Used (LFU) and 2) Least Recently [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Memory Thrashing - compiled by Chirag Patel   December 27, 2008</strong><br />
<em>(Ref: Embedded Systems Design June 2008)</em></p>
<p>Memory threshing is a typical problem that goes unnotices while programming time-critical systems. Translation Look-aside Buffers (TLB) are used for data and instruction cache. There are two main cache-replacement schemes: 1) Least Frequently Used (LFU) and 2) Least Recently Used (LRU). Memory accesses require address translations in modern systems. So, when a page table is is found in an on-chip TLB (a TLB hit), the lookup normally does not do translation. On TLB miss, the processor must look again and must calculate offset to find a byte physically.</p>
<p>When a system has multiple concurrent accesses, operating system schedules time slices for those processes. If we consider 32-entry LRU TLB and 6 processes each using different page memory, at least 12 pages are active at any given time (instruction + data). If every process uses double nested procedures (or jumps between 3 pages) in each time slice, there are 36 active pages. If operating system time slices sequentially, by the time 6th process is reached, 30 pages are accessed. By the end of 6th process time slice, 36 page accesses should have passed. So, the cache manager will discard first 4 accesses (LRU algorithm). When the time comes for the first process, it will have TLB misses for those first 4 page accesses. As the processor continues, it keeps discarding the pages that the next process in sequence will need. This memory thrashing greatly degrades system performance.</p>
<p><strong>To avoid thrashing:</strong><br />
- Long unused variables should be declared absolutely rather than relatively.<br />
- Macros should be expanded.<br />
- Avoid nesting procedure calls whenever possible.<br />
- Minimize number of concurrent tasks.<br />
- Don&#8217;t use jumps larger than page size unless absolutely necessary.</p>
]]></content:encoded>
			<wfw:commentRss>http://rutmandal.info/infotalk/2008/12/28/memory-thrashing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Folding with VIM</title>
		<link>http://rutmandal.info/infotalk/2008/12/15/folding-with-vim/</link>
		<comments>http://rutmandal.info/infotalk/2008/12/15/folding-with-vim/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 00:16:48 +0000</pubDate>
		<dc:creator>Chirag</dc:creator>
		
		<category><![CDATA[Infrastructure]]></category>

		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://rutmandal.info/infotalk/?p=53</guid>
		<description><![CDATA[Folding with VIM - Chirag Patel	Dec 14, 2008
&#8211; Edit &#8220;~/.vimrc&#8221;
&#8211; Add following options
set fmr={,}
set fdm=indent
&#8211; To use syntax folding for a file, enter following command after opening it.
:set fdm=syntax
&#8211; To set no folding, edit &#8220;~/.vimrc&#8221;
set nofoldenable
&#8211; By default all available folds are folded. Change that to preferred max in &#8220;~/.vimrc&#8221;.
set fdn=1
1 is good value as [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Folding with VIM - Chirag Patel	Dec 14, 2008</strong></p>
<p>&#8211; Edit &#8220;~/.vimrc&#8221;</p>
<p>&#8211; Add following options<br />
set fmr={,}<br />
set fdm=indent</p>
<p>&#8211; To use syntax folding for a file, enter following command after opening it.<br />
:set fdm=syntax</p>
<p>&#8211; To set no folding, edit &#8220;~/.vimrc&#8221;<br />
set nofoldenable</p>
<p>&#8211; By default all available folds are folded. Change that to preferred max in &#8220;~/.vimrc&#8221;.<br />
set fdn=1</p>
<p>1 is good value as it will close all top level folds to be closed (e.g. functions), but not any blocks inside.</p>
<p>&#8211; Some commands while in command in command mode:<br />
zo ==&gt; open fold under cursor<br />
zO ==&gt; open folds recursively under cursor<br />
zc ==&gt; close fold under cursor<br />
zC ==&gt; close folds recursively under cursor<br />
zA ==&gt; toggle folds recursively<br />
zM ==&gt; close all folds in a file<br />
zR ==&gt; open all folds in a file</p>
]]></content:encoded>
			<wfw:commentRss>http://rutmandal.info/infotalk/2008/12/15/folding-with-vim/feed/</wfw:commentRss>
		</item>
		<item>
		<title>My VIM configuration</title>
		<link>http://rutmandal.info/infotalk/2008/12/15/my-vim-configuration/</link>
		<comments>http://rutmandal.info/infotalk/2008/12/15/my-vim-configuration/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 00:09:17 +0000</pubDate>
		<dc:creator>Chirag</dc:creator>
		
		<category><![CDATA[Infrastructure]]></category>

		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://rutmandal.info/infotalk/?p=51</guid>
		<description><![CDATA[Vim Basic Configuration - Chirag Patel 	Dec 14, 2008
&#8212; Edit &#8220;~/.vimrc&#8221; file and add following tags per need
set autoindent  ==&#62; auto-indent code
set incsearch  ==&#62; start searching as we type word for search
set hlsearch  ==&#62; highlight all occurrences for search
set nowrap  ==&#62; disable line wrapping
set ts=4  ==&#62; set tabsize to 4 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Vim Basic Configuration - Chirag Patel 	Dec 14, 2008</strong></p>
<p>&#8212; Edit &#8220;~/.vimrc&#8221; file and add following tags per need</p>
<p>set autoindent  ==&gt; auto-indent code<br />
set incsearch  ==&gt; start searching as we type word for search<br />
set hlsearch  ==&gt; highlight all occurrences for search<br />
set nowrap  ==&gt; disable line wrapping<br />
set ts=4  ==&gt; set tabsize to 4 space size<br />
set softtabstop=4  ==&gt; tabbing match my tabsize of 4<br />
set shiftwidth=4  ==&gt; shifting match my tabsize of 4<br />
set noexpandtab  ==&gt; do not replace tab with spaces<br />
set showmatch  ==&gt; highlight matching bracket/braces as we move cursor<br />
set mat=5  ==&gt; matching for search<br />
set nocompatible  ==&gt; no vi compatibility<br />
filetype on  ==&gt; vim detects file type<br />
syntax on  ==&gt; highlight syntax words for file type<br />
set ruler<br />
set cindent  ==&gt; &#8220;C&#8221; indent rules for auto-indent<br />
==&gt; following command restores file position while re-opening<br />
autocmd BufReadPost *<br />
 \ if expand(&#8221;:p:h&#8221;) !=? $TEMP |<br />
 \  if line(&#8221;&#8216;\&#8221;") &gt; 0 &amp;&amp; line(&#8221;&#8216;\&#8221;")  following command postpones using &#8220;zv&#8221; until after reading the modelines<br />
autocmd BufWinEnter *<br />
 \ if exists(&#8221;b:doopenfold&#8221;) |<br />
 \  unlet b:doopenfold |<br />
 \  exe &#8220;normal zv&#8221; |<br />
 \ endif</p>
]]></content:encoded>
			<wfw:commentRss>http://rutmandal.info/infotalk/2008/12/15/my-vim-configuration/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
