<?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"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Aca-Bubbles</title>
	<atom:link href="http://thinkingfish.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://thinkingfish.wordpress.com</link>
	<description>The Geeky Side of ThinkingFish</description>
	<pubDate>Wed, 25 Jun 2008 05:35:41 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
	<language>en</language>
			<item>
		<title>Customize syntax highlighting for CUDA in Kate/KDevelop</title>
		<link>http://thinkingfish.wordpress.com/2008/06/06/customize-syntax-highlighting-for-cuda-in-katekdevelop/</link>
		<comments>http://thinkingfish.wordpress.com/2008/06/06/customize-syntax-highlighting-for-cuda-in-katekdevelop/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 15:41:49 +0000</pubDate>
		<dc:creator>thinkingfish</dc:creator>
		
		<category><![CDATA[All]]></category>

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

		<guid isPermaLink="false">http://thinkingfish.wordpress.com/?p=31</guid>
		<description><![CDATA[CUDA is a minimal extension of C/C++ to support programming on newer NVIDIA GPUs. It introduces dozens of new keywords that are frequently used in CUDA programs. Adding syntax highlighting in KDevelop (Kate) only requires several simple steps:
1. Get keywords from &#8220;usertype.dat&#8221; provided by any Windows version of CUDA SDK, this is a text file. It should be found under $(NVIDIA_CUDA_SDK)\doc\syntax_highlighting.
2. Under your Linux [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a title="CUDA" href="http://www.nvidia.com/object/cuda_home.html" target="_blank">CUDA</a> is a minimal extension of C/C++ to support programming on newer NVIDIA GPUs. It introduces dozens of new keywords that are frequently used in CUDA programs. Adding syntax highlighting in KDevelop (Kate) only requires several simple steps:</p>
<p>1. Get keywords from &#8220;<span style="color:#0000ff;">usertype.dat</span>&#8221; provided by any Windows version of CUDA SDK, this is a text file. It should be found under <span style="color:#0000ff;">$(NVIDIA_CUDA_SDK)\doc\syntax_highlighting</span>.</p>
<p>2. Under your Linux account, cd ~/.kde/share/apps/katepart/syntax/, there should be two xml files regarding C/C++, <span style="color:#0000ff;">cpp.xml</span> and<span style="color:#0000ff;"> c.xml</span>. Make a copy of both and name them properly, e.g. <span style="color:#0000ff;">cpp_cuda.xml</span> &amp; <span style="color:#0000ff;">c_cuda.xml</span>.</p>
<p>3. Perform a replace operation on each keyword in &#8220;usertype.dat&#8221; so they match the keyword format in target xml files, and then copy them into the keyword lists of target files.</p>
<p>4. Modify xml header, which includes language description, file extensions and other information. You probably want to add &#8220;<span style="color:#0000ff;">*.cu</span>&#8221; to the file extension list. Remember to distinguish them from the original C/C++ language tag. Save the xml files after you are done.</p>
<p>5. Open Kate/KDevelop, under <span style="color:#0000ff;">Tools-&gt;Highlighting-&gt;Sources</span> you should see two new entries below C++ and C, respectively.</p>
<p>Enjoy.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thinkingfish.wordpress.com/31/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thinkingfish.wordpress.com/31/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thinkingfish.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thinkingfish.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thinkingfish.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thinkingfish.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thinkingfish.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thinkingfish.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thinkingfish.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thinkingfish.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thinkingfish.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thinkingfish.wordpress.com/31/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thinkingfish.wordpress.com&blog=98103&post=31&subd=thinkingfish&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://thinkingfish.wordpress.com/2008/06/06/customize-syntax-highlighting-for-cuda-in-katekdevelop/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/thinkingfish-128.jpg" medium="image">
			<media:title type="html">thinkingfish</media:title>
		</media:content>
	</item>
		<item>
		<title>Starting a subprocess from Python</title>
		<link>http://thinkingfish.wordpress.com/2008/05/05/starting-a-subprocess-from-python/</link>
		<comments>http://thinkingfish.wordpress.com/2008/05/05/starting-a-subprocess-from-python/#comments</comments>
		<pubDate>Mon, 05 May 2008 18:35:02 +0000</pubDate>
		<dc:creator>thinkingfish</dc:creator>
		
		<category><![CDATA[All]]></category>

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

		<guid isPermaLink="false">http://thinkingfish.wordpress.com/?p=30</guid>
		<description><![CDATA[subprocess is a convenient way to fork a new process on Windows/Unix/etc. It obsoletes previous methods such as commands (which does not support Windows) and os.system()/os.popen*/os.spawn*
Here is an example:
import subprocess
cmd_lst = ['exec_file', 'arg1', 'arg2', ...]
subprocess.call(cmd_lst) #return the value returned by the callee
subprocess.check_call(cmd_lst) #return if the callee exits with 0, otherwise raise an error

   [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>subprocess is a convenient way to fork a new process on Windows/Unix/etc. It obsoletes previous methods such as commands (which does not support Windows) and os.system()/os.popen*/os.spawn*</p>
<p>Here is an example:<br />
<code>import subprocess<br />
cmd_lst = ['<em>exec_file</em>', '<em>arg1</em>', '<em>arg2</em>', ...]<br />
subprocess.call(cmd_lst) #return the value returned by the callee<br />
subprocess.check_call(cmd_lst) #return if the callee exits with 0, otherwise raise an error<br />
</code></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thinkingfish.wordpress.com/30/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thinkingfish.wordpress.com/30/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thinkingfish.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thinkingfish.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thinkingfish.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thinkingfish.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thinkingfish.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thinkingfish.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thinkingfish.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thinkingfish.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thinkingfish.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thinkingfish.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thinkingfish.wordpress.com&blog=98103&post=30&subd=thinkingfish&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://thinkingfish.wordpress.com/2008/05/05/starting-a-subprocess-from-python/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/thinkingfish-128.jpg" medium="image">
			<media:title type="html">thinkingfish</media:title>
		</media:content>
	</item>
		<item>
		<title>Surface by Microsoft</title>
		<link>http://thinkingfish.wordpress.com/2008/04/02/surface-by-microsoft/</link>
		<comments>http://thinkingfish.wordpress.com/2008/04/02/surface-by-microsoft/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 05:48:20 +0000</pubDate>
		<dc:creator>thinkingfish</dc:creator>
		
		<category><![CDATA[notes]]></category>

		<guid isPermaLink="false">http://thinkingfish.wordpress.com/2008/04/02/surface-by-microsoft/</guid>
		<description><![CDATA[Happened to run into the link http://www.microsoft.com/surface, this is a product that&#8217;s been announced for over a year. Very impressive.
This somewhat proves, again, that computer science is neither about computer nor science, it is math and art.
       ]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Happened to run into the link <a href="http://www.microsoft.com/surface">http://www.microsoft.com/surface</a>, this is a product that&#8217;s been announced for over a year. Very impressive.</p>
<p>This somewhat proves, again, that computer science is neither about computer nor science, it is math and art.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thinkingfish.wordpress.com/29/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thinkingfish.wordpress.com/29/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thinkingfish.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thinkingfish.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thinkingfish.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thinkingfish.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thinkingfish.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thinkingfish.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thinkingfish.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thinkingfish.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thinkingfish.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thinkingfish.wordpress.com/29/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thinkingfish.wordpress.com&blog=98103&post=29&subd=thinkingfish&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://thinkingfish.wordpress.com/2008/04/02/surface-by-microsoft/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/thinkingfish-128.jpg" medium="image">
			<media:title type="html">thinkingfish</media:title>
		</media:content>
	</item>
		<item>
		<title>Shot their own feet</title>
		<link>http://thinkingfish.wordpress.com/2008/03/04/shot-their-own-feet/</link>
		<comments>http://thinkingfish.wordpress.com/2008/03/04/shot-their-own-feet/#comments</comments>
		<pubDate>Wed, 05 Mar 2008 01:28:17 +0000</pubDate>
		<dc:creator>thinkingfish</dc:creator>
		
		<category><![CDATA[All]]></category>

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

		<guid isPermaLink="false">http://thinkingfish.wordpress.com/2008/03/04/shot-their-own-feet/</guid>
		<description><![CDATA[Live Mail filtered Microsoft Survey invitation as junk. I lost a teeny-tiny chance to win in a sweepstakes. Oh well&#8230; Do we have to take training courses in &#8220;how to compose emails in a junk-unlikely style&#8221; someday in the future?
       ]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Live Mail filtered Microsoft Survey invitation as junk. I lost a teeny-tiny chance to win in a sweepstakes. Oh well&#8230; Do we have to take training courses in &#8220;how to compose emails in a junk-unlikely style&#8221; someday in the future?</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thinkingfish.wordpress.com/28/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thinkingfish.wordpress.com/28/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thinkingfish.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thinkingfish.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thinkingfish.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thinkingfish.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thinkingfish.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thinkingfish.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thinkingfish.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thinkingfish.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thinkingfish.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thinkingfish.wordpress.com/28/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thinkingfish.wordpress.com&blog=98103&post=28&subd=thinkingfish&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://thinkingfish.wordpress.com/2008/03/04/shot-their-own-feet/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/thinkingfish-128.jpg" medium="image">
			<media:title type="html">thinkingfish</media:title>
		</media:content>
	</item>
		<item>
		<title>Cygwin group/passwd setting</title>
		<link>http://thinkingfish.wordpress.com/2008/02/17/cygwin-grouppasswd-setting/</link>
		<comments>http://thinkingfish.wordpress.com/2008/02/17/cygwin-grouppasswd-setting/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 00:20:58 +0000</pubDate>
		<dc:creator>thinkingfish</dc:creator>
		
		<category><![CDATA[All]]></category>

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

		<guid isPermaLink="false">http://thinkingfish.wordpress.com/?p=26</guid>
		<description><![CDATA[In case anything goes wrong with user accounts, carry on the following steps:
mkpasswd -l -c &#62; /etc/passwd
mkgroup -l -c &#62; /etc/group
mkpasswd -d -u &#60;username&#62; /etc/passwd (optional)
mkgroup -d &#124; grep &#60;username&#62; /etc/group (optional)
       ]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In case anything goes wrong with user accounts, carry on the following steps:</p>
<p><em>mkpasswd -l -c &gt; /etc/passwd</em></p>
<p><em>mkgroup -l -c &gt; /etc/group</em></p>
<p><em>mkpasswd -d -u &lt;username&gt; /etc/passwd</em> (optional)</p>
<p><em>mkgroup -d | grep &lt;username&gt; /etc/group</em> (optional)</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thinkingfish.wordpress.com/26/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thinkingfish.wordpress.com/26/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thinkingfish.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thinkingfish.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thinkingfish.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thinkingfish.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thinkingfish.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thinkingfish.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thinkingfish.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thinkingfish.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thinkingfish.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thinkingfish.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thinkingfish.wordpress.com&blog=98103&post=26&subd=thinkingfish&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://thinkingfish.wordpress.com/2008/02/17/cygwin-grouppasswd-setting/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/thinkingfish-128.jpg" medium="image">
			<media:title type="html">thinkingfish</media:title>
		</media:content>
	</item>
		<item>
		<title>How to- Tunnel Traffic through Firewall and Remote Desktop</title>
		<link>http://thinkingfish.wordpress.com/2007/09/25/howto-tunnel-traffic-through-firewall-and-remote-desktop/</link>
		<comments>http://thinkingfish.wordpress.com/2007/09/25/howto-tunnel-traffic-through-firewall-and-remote-desktop/#comments</comments>
		<pubDate>Tue, 25 Sep 2007 21:18:23 +0000</pubDate>
		<dc:creator>thinkingfish</dc:creator>
		
		<category><![CDATA[All]]></category>

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

		<guid isPermaLink="false">http://thinkingfish.wordpress.com/2007/09/25/howto-tunnel-traffic-through-firewall-and-remote-desktop/</guid>
		<description><![CDATA[My department has rigid access rules, which prevail in today&#8217;s internet jungle. Sadly enough, connecting to one&#8217;s working environment is not as easy as it used to be. It took more than a breath of time and understanding to configure all the access methods I need. Though all stated here are trivial, I feel keeping a memo quite necessary, especially when all the department guidelines themselves are within [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>My department has rigid access rules, which prevail in today&#8217;s internet jungle. Sadly enough, connecting to one&#8217;s working environment is not as easy as it used to be. It took more than a breath of time and understanding to configure all the access methods I need. Though all stated here are trivial, I feel keeping a memo quite necessary, especially when all the department guidelines themselves are within the firewall.</p>
<p><strong>Scenario</strong><br />
a) IP address space protected by a filewall<br />
b) Access server sitting just on border of the firewall, only tunneling allowed<br />
c) Well-known department servers inside the filewall<br />
d) Office computer, with domain/username account and domain-affiliated NFS (OS: Windows XP SP2)<br />
e) Home computer, OS: Windows Vista (yes, I know Linux will make remote access easier, but what about drivers of all the cool new hardware I paid big money for?)</p>
<p>Software on client side: OpenSSH (on Cygwin) or PuTTY or SSH Secure Shell, WinSCP</p>
<p><strong>Goal 1: Set up tunnels through a border server</strong><br />
Edit the configuration file for OpenSSH (or do similar stuff to other clients), open the file <code>~/.ssh/config</code> and put the following lines in:<br />
<code>host <em>name_it_yourself</em><br />
hostname <em>hostname_domainname</em><br />
user <em>username</em><br />
ForwardAgent yes<br />
LocalForward <em>custom_port1 hostname1</em>:<em>port1 </em>#list as many as u wish<br />
LocalForward <em>custom_port2 hostname2</em>:<em>port2<br />
</em>IdentityFile ~/.ssh/<em>key_for_host</em>/id_dsa #where to store private key if pubkey is used</code></p>
<p>kick-start everything else with <code>ssh <em>name_it_yourself</em></code> and leave it running in the background. From now on, all remote access appear as reaching for some local customized port. All the ugly things (almost all) are taken care of by the tunneling mechanism.</p>
<p><strong>Goal 2: Connect to well know server inside firewall</strong><br />
Specify a portforwarding rule in 1, and then create a new profile (i.e. adding a new paragraph in OpenSSH <code>config</code> file) looking like this:<br />
<code>host <em>name_it_yourself</em><br />
hostname <em>localhost</em> # since we have already tunneled it<br />
user <em>username</em><br />
ForwardX11 yes<br />
port <em>custom_port1</em><br />
IdentityFile ~/.ssh/<em>id_file</em></code><br />
Login by running <code>ssh <em>name_it_yourself</em></code></p>
<p><strong>Goal 3: SSH to office computer</strong><br />
A SSH server is required on the remote end, OpenSSH on Cygwin is one of the easiest way to do this. Set OpenSSH to service mode so that <code>sshd.exe</code> is lauched at booting.<br />
On the client side, add another profile for office computer similar to 2. Remember to set up a tunnel in 1. With better control of the server end, public key authentication can be used to save password typing. Use <code>ssh-keygen</code> under Cygwin for a pair of keys:<br />
<code>ssh-keygen -f ~/.ssh/<em>key_file</em> -t rsa #specify where to put keys and which authentication protocol to use</code><br />
Keep the private key safe and sound, probably protecting it by a password.<br />
Distribute the pub key file on office computer by concatenate it to the SSH authorized key file (change path of the pub key accordingly):<br />
<code>cat ~/<em>key_file</em>.pub &gt;&gt; ~/.ssh/authorized_keys</code><strong> </strong></p>
<p>Note: If you are using PuTTY for tunneling, remember that pub key pairs generated by PuTTY is not 100% compatible with OpenSSH. Minor modification required, or simply stick to ssh-keygen and import it in PuTTY.</p>
<p><strong>Goal 4: FTP-like file access</strong><br />
WinSCP is a good candidate, supporting SCP and SFTP. Create a new profile in WinSCP, if pubkey is used, private key file should be loaded. WinSCP uses PuTTY style private key, and OpenSSH keys are alien to it. Therefore, a private key generated in a UNIX environment should be imported using <code>PuTTYgen.exe</code> and saved in PuTTY style (<code>.ppk</code>) before using.</p>
<p><strong>Goal 5: Remote desktop to office computer</strong><br />
Add a tunnel to the remote RDP port by adding a line to profile in 1:<br />
<code>LocalForward <em>local_port</em> office_computer_domain:<em>RDP_port</em></code><br />
Make sure remote desktop is allowed on remote OS and the user is granted access. Run remote desktop on local machine and access <em>localhost:local_port</em>.<br />
<em><strong>Note</strong></em> On Windows XP SP2, access to <code>127.0.0.1:</code> is not allowed (loopback), use <code>127.0.0.2</code> instead. On Windows XP/2003, RDP listens on port <code>3389</code>, while Windows Vista listens on <code>3390</code>. Therefore, one cannot map these port as the <code><em>local_port</em></code>.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thinkingfish.wordpress.com/23/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thinkingfish.wordpress.com/23/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thinkingfish.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thinkingfish.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thinkingfish.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thinkingfish.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thinkingfish.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thinkingfish.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thinkingfish.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thinkingfish.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thinkingfish.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thinkingfish.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thinkingfish.wordpress.com&blog=98103&post=23&subd=thinkingfish&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://thinkingfish.wordpress.com/2007/09/25/howto-tunnel-traffic-through-firewall-and-remote-desktop/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/thinkingfish-128.jpg" medium="image">
			<media:title type="html">thinkingfish</media:title>
		</media:content>
	</item>
		<item>
		<title>More LaTeX Templates</title>
		<link>http://thinkingfish.wordpress.com/2007/09/04/more-latex-templates/</link>
		<comments>http://thinkingfish.wordpress.com/2007/09/04/more-latex-templates/#comments</comments>
		<pubDate>Tue, 04 Sep 2007 20:20:16 +0000</pubDate>
		<dc:creator>thinkingfish</dc:creator>
		
		<category><![CDATA[All]]></category>

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

		<guid isPermaLink="false">http://thinkingfish.wordpress.com/2007/09/04/more-latex-templates/</guid>
		<description><![CDATA[%preamble
\RequirePackage[config]{subfig}
%%%%%%%%%%%%%%%%%figure-Title%%%%%%%%%%%%%%%%
\begin{figure}[hbtp]
\centering
\subfloat{\includegraphics[width=.48\textwidth]{subfig-1}}
\subfloat{\includegraphics[width=.48\textwidth]{subfig-2}}
\caption{Foobar}
\label{fig:foobar}
\end{figure}
%%%%%%%%%%%%End of figure-Title%%%%%%%%%%%%%%
 (to be continued&#8230;)
       ]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>%preamble<br />
\RequirePackage[config]{subfig}</p>
<p>%%%%%%%%%%%%%%%%%figure-Title%%%%%%%%%%%%%%%%<br />
\begin{figure}[hbtp]<br />
\centering<br />
\subfloat{\includegraphics[width=.48\textwidth]{subfig-1}}<br />
\subfloat{\includegraphics[width=.48\textwidth]{subfig-2}}<br />
\caption{Foobar}<br />
\label{fig:foobar}<br />
\end{figure}<br />
%%%%%%%%%%%%End of figure-Title%%%%%%%%%%%%%%</p>
<p> (to be continued&#8230;)</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thinkingfish.wordpress.com/22/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thinkingfish.wordpress.com/22/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thinkingfish.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thinkingfish.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thinkingfish.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thinkingfish.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thinkingfish.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thinkingfish.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thinkingfish.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thinkingfish.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thinkingfish.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thinkingfish.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thinkingfish.wordpress.com&blog=98103&post=22&subd=thinkingfish&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://thinkingfish.wordpress.com/2007/09/04/more-latex-templates/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/thinkingfish-128.jpg" medium="image">
			<media:title type="html">thinkingfish</media:title>
		</media:content>
	</item>
		<item>
		<title>Howto&#8230; when network interface is missing</title>
		<link>http://thinkingfish.wordpress.com/2007/03/16/howto-when-network-interface-is-missing/</link>
		<comments>http://thinkingfish.wordpress.com/2007/03/16/howto-when-network-interface-is-missing/#comments</comments>
		<pubDate>Fri, 16 Mar 2007 06:17:07 +0000</pubDate>
		<dc:creator>thinkingfish</dc:creator>
		
		<category><![CDATA[notes]]></category>

		<guid isPermaLink="false">http://thinkingfish.wordpress.com/2007/03/16/howto-when-network-interface-is-missing/</guid>
		<description><![CDATA[Sometimes, eth0 (or other devices) cannot be found or recognized after a reboot/NIC change. This is common after hardware replacement, or copying/modifying guest OS running on virtual machine (vmware, virtual PC). 
Symptom
When trying to bring up the network interfaces, the following message (or similar) occurs: 
SIOCSIFADDR: No such device
eth0: ERROR while getting interface flags: No such device

ifconfig displays the local loopback.
Problem 
The reason for [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Sometimes, eth0 (or other devices) cannot be found or recognized after a reboot/NIC change. This is common after hardware replacement, or copying/modifying guest OS running on virtual machine (vmware, virtual PC). </p>
<p><strong>Symptom</strong></p>
<p>When trying to bring up the network interfaces, the following message (or similar) occurs: </p>
<p><em>SIOCSIFADDR: No such device<br />
eth0: ERROR while getting interface flags: No such device<br />
</em></p>
<p><em>ifconfig</em> displays the local loopback.</p>
<p><strong>Problem </strong></p>
<p>The reason for this is a change in MAC address. Linux OS  recognition and configuration of an interface is assigned with the MAC address of this interface. If it changes while the OS is running (similar to hot-plug), OS will lose the information previously gathered for this device. This is more common in linux running on top of VMware and other vm, where guest OS is often suspended, then moved.</p>
<p> <strong>Solution</strong></p>
<p>After searching on web, I found two posts related to the problem. One is to get back the lost interface, the other is to generate a new interface for virtual machine.</p>
<p>For ubuntu, the MAC address of each interface is stored at <em>/etc/iftab</em>, editing this file with the correct MAC you learn from elsewhere, and restart the network will do the trick. For VMWare, the generated MAC address is stored in <em>*.vmx</em> file. Click <a target="_blank" href="http://episteme.arstechnica.com/eve/forums/a/tpc/f/96509133/m/720008741831?r=388009302831#388009302831">here</a> for the original discussion.</p>
<p>If you want to add a new interface for VM, follow the vmx file sample given in <a href="http://www.vmware.com/community/thread.jspa?messageID=580116">this</a> post.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thinkingfish.wordpress.com/21/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thinkingfish.wordpress.com/21/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thinkingfish.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thinkingfish.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thinkingfish.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thinkingfish.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thinkingfish.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thinkingfish.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thinkingfish.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thinkingfish.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thinkingfish.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thinkingfish.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thinkingfish.wordpress.com&blog=98103&post=21&subd=thinkingfish&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://thinkingfish.wordpress.com/2007/03/16/howto-when-network-interface-is-missing/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/thinkingfish-128.jpg" medium="image">
			<media:title type="html">thinkingfish</media:title>
		</media:content>
	</item>
		<item>
		<title>Dah&#8230; Get rid of the annoying database lock</title>
		<link>http://thinkingfish.wordpress.com/2007/03/12/dah-get-rid-of-the-annoying-database-lock/</link>
		<comments>http://thinkingfish.wordpress.com/2007/03/12/dah-get-rid-of-the-annoying-database-lock/#comments</comments>
		<pubDate>Mon, 12 Mar 2007 07:21:01 +0000</pubDate>
		<dc:creator>thinkingfish</dc:creator>
		
		<category><![CDATA[All]]></category>

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

		<guid isPermaLink="false">http://thinkingfish.wordpress.com/2007/03/12/dah-get-rid-of-the-annoying-database-lock/</guid>
		<description><![CDATA[There have been several times that I had to kill the package management program while it was not through yet. In this case the lock of the database could not be removed correctly and further access to it is prohibited.
The problem is simple, but annoying. Plus, it is common especially when you have a fragile access [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>There have been several times that I had to kill the package management program while it was not through yet. In this case the lock of the database could not be removed correctly and further access to it is prohibited.</p>
<p>The problem is simple, but annoying. Plus, it is common especially when you have a fragile access to internet. So here is the solution when someone tells you &#8216;database is locked&#8217; in ubuntu/debian linux using apt to manage packages.</p>
<p>Here it is, quoted from <a href="https://answers.launchpad.net/ubuntu/+ticket/2231">https://answers.launchpad.net/ubuntu/+ticket/2231</a></p>
<p>Use this command from konsole:<br />
 $ <em>sudo fuser -vki /var/lib/dpkg/lock<br />
</em>This will ask you if you want to kill the process using the file.<br />
Now you can run:<br />
 $ <em>sudo dpkg &#8211;configure -a<br />
</em> to make sure all packages are fully installed.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thinkingfish.wordpress.com/20/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thinkingfish.wordpress.com/20/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thinkingfish.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thinkingfish.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thinkingfish.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thinkingfish.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thinkingfish.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thinkingfish.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thinkingfish.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thinkingfish.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thinkingfish.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thinkingfish.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thinkingfish.wordpress.com&blog=98103&post=20&subd=thinkingfish&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://thinkingfish.wordpress.com/2007/03/12/dah-get-rid-of-the-annoying-database-lock/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/thinkingfish-128.jpg" medium="image">
			<media:title type="html">thinkingfish</media:title>
		</media:content>
	</item>
		<item>
		<title>How to improve my English</title>
		<link>http://thinkingfish.wordpress.com/2006/12/21/how-to-improve-my-english/</link>
		<comments>http://thinkingfish.wordpress.com/2006/12/21/how-to-improve-my-english/#comments</comments>
		<pubDate>Thu, 21 Dec 2006 10:31:43 +0000</pubDate>
		<dc:creator>thinkingfish</dc:creator>
		
		<category><![CDATA[All]]></category>

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

		<guid isPermaLink="false">http://thinkingfish.wordpress.com/2006/12/21/how-to-improve-my-english/</guid>
		<description><![CDATA[Recently I paid a three-week visit to California and chatted with dozens of people on all occasions. Although It has been many years since I said my ABC, this was the first time for me to live in an English-dominating environment. And I got some clues on further improvement of my English.
Accent
Nonnative speakers can well sense that they [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Recently I paid a three-week visit to California and chatted with dozens of people on all occasions. Although It has been many years since I said my ABC, this was the first time for me to live in an English-dominating environment. And I got some clues on further improvement of my English.</p>
<p><strong>Accent</strong></p>
<p>Nonnative speakers can well sense that they speak differently. The point is to know how and why this happens. For example, Chinese often pronounce &#8216;<em>that</em>&#8216; as &#8216;<em>zat</em>&#8216;, &#8216;<em>thought</em>&#8216; as &#8216;<em>sought</em>&#8216;, because Chinese (including those speak mandarin and dialects) never put their tongue between their teeth. We tend to neglect, or pronounce poorly, phoneme not existing in our mother tongue. On the other hand, Chinese do have much more complex  intonation systems, and they affect the way we speak English. The biggest effect is that we often replace a down tone with a flat tone, which is common in Chinese. Paying special attention to phoneme that are absent in my first language and eliminating tones not popular in English are two key points of eliminating accent.</p>
<p><strong>Vocabulary</strong></p>
<p>During my several flights, there were plenty of chances to chat around with native English speakers. I was upset to realize that my vocabulary could hardly support a dialog beyond everyday life. I cannot master less popular, but important phrases or words barely through learning the language itself. It is the lack of systematic education in English. Therefore, the ability to talk like an well-educated English speaker requires formal education in English. It could be a time-consuming plan, but must help a lot if one goes through textbooks from grade 1 to 12 in the next 3 years. I believe it will significantly boost my proficiency of English, let&#8217;s see.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thinkingfish.wordpress.com/19/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thinkingfish.wordpress.com/19/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thinkingfish.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thinkingfish.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thinkingfish.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thinkingfish.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thinkingfish.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thinkingfish.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thinkingfish.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thinkingfish.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thinkingfish.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thinkingfish.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thinkingfish.wordpress.com&blog=98103&post=19&subd=thinkingfish&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://thinkingfish.wordpress.com/2006/12/21/how-to-improve-my-english/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/thinkingfish-128.jpg" medium="image">
			<media:title type="html">thinkingfish</media:title>
		</media:content>
	</item>
	</channel>
</rss>