<?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:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Steven She at woggie.net &#187; Linux</title>
	<atom:link href="http://www.woggie.net/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.woggie.net</link>
	<description>The life of a PhD Candidate in Software Engineering</description>
	<lastBuildDate>Mon, 25 Oct 2010 14:33:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Wicd template for eduroam at the University of Waterloo</title>
		<link>http://www.woggie.net/2010/09/28/wicd-template-for-eduroam-at-the-university-of-waterloo/</link>
		<comments>http://www.woggie.net/2010/09/28/wicd-template-for-eduroam-at-the-university-of-waterloo/#comments</comments>
		<pubDate>Tue, 28 Sep 2010 22:34:57 +0000</pubDate>
		<dc:creator>Steven She</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[eduroam wicd]]></category>

		<guid isPermaLink="false">http://www.woggie.net/?p=258</guid>
		<description><![CDATA[Waterloo&#8217;s jumping aboard the eduroam bandwagon and is phasing out their uw-secure network on November 1st, 2010. Here&#8217;s the wicd template that you need connect to eduroam, just place it in the /etc/wicd/encryption/templates/ on Arch Linux and add your template to the active file in the same directory: name = Eduroam UW author = Steven [...]]]></description>
			<content:encoded><![CDATA[<p>Waterloo&#8217;s jumping aboard the eduroam bandwagon and is phasing out their <code>uw-secure</code> network on November 1st, 2010. Here&#8217;s the wicd template that you need connect to eduroam, just place it in the <code>/etc/wicd/encryption/templates/</code> on Arch Linux and add your template to the <code>active</code> file in the same directory:</p>
<pre>
name = Eduroam UW
author = Steven She
version = 1
require username *Username password *Password
-----
ctrl_interface=/var/run/wpa_supplicant
network={
    ssid="$_ESSID"
    scan_ssid="$_SCAN"
    proto=RSN
    key_mgmt=WPA-EAP
    pairwise=CCMP
    group=CCMP
    eap=PEAP
    identity="$_USERNAME"
    password="$_PASSWORD"
    ca_cert="/usr/share/ca-certificates/mozilla/GlobalSign_Root_CA.crt"
    phase2="auth=MSCHAPV2"
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.woggie.net/2010/09/28/wicd-template-for-eduroam-at-the-university-of-waterloo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generating LKC Parser</title>
		<link>http://www.woggie.net/2010/02/04/generating-lkc-parser/</link>
		<comments>http://www.woggie.net/2010/02/04/generating-lkc-parser/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 00:25:02 +0000</pubDate>
		<dc:creator>Steven She</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.woggie.net/?p=193</guid>
		<description><![CDATA[A quick hint for compiling the LKC parser. The kbuild system requires that bison 2.3 is used. Newer versions (in my case, 2.4) generate code that throw a compilation error.]]></description>
			<content:encoded><![CDATA[<p>A quick hint for compiling the LKC parser. The kbuild system requires that bison 2.3 is used. Newer versions (in my case, 2.4) generate code that throw a compilation error.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.woggie.net/2010/02/04/generating-lkc-parser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wicd Template for University of Leipzig</title>
		<link>http://www.woggie.net/2010/01/20/wicd-template-for-university-of-leipzig/</link>
		<comments>http://www.woggie.net/2010/01/20/wicd-template-for-university-of-leipzig/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 11:44:08 +0000</pubDate>
		<dc:creator>Steven She</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[eduroam]]></category>
		<category><![CDATA[wicd]]></category>

		<guid isPermaLink="false">http://www.woggie.net/?p=181</guid>
		<description><![CDATA[Here&#8217;s a wicd template for the EAP-TTLS + PAP setup at the University of Leipzig. This was just a small customization of the template from Shawn MacLean, so all credit goes to him. Create the file /etc/wicd/encryption/templates/eap-ttls containing: name = EAP-TTLS with PAP author = Shawn MacLean version = 1 require identity *Identity password *Password [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a wicd template for the EAP-TTLS + PAP setup at the University of Leipzig. This was just a small customization of <a href="http://wicd.net/punbb/viewtopic.php?id=514">the template from Shawn MacLean</a>, so all credit goes to him. Create the file <code>/etc/wicd/encryption/templates/eap-ttls</code> containing:</p>
<pre>name = EAP-TTLS with PAP
author = Shawn MacLean
version = 1
require identity *Identity password *Password ca_cert *Path_to_CA_Cert
-----
network={
    ssid="$_ESSID"
    scan_ssid="$_SCAN"
    proto=WPA
    key_mgmt=WPA-EAP
    pairwise=TKIP
    group=TKIP
    eap=TTLS
    ca_cert="$_CA_CERT"
    identity="$_IDENTITY"
    password="$_PASSWORD"
    phase2="auth=PAP"
}
</pre>
<p>Add <code>eap-ttls</code> to <code>/etc/wicd/encryption/templates/active</code>, restart the GUI and the settings should now appear in the dropdown menu.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.woggie.net/2010/01/20/wicd-template-for-university-of-leipzig/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Adobe Acrobat.com</title>
		<link>http://www.woggie.net/2008/08/04/adobe-acrobatcom/</link>
		<comments>http://www.woggie.net/2008/08/04/adobe-acrobatcom/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 16:29:08 +0000</pubDate>
		<dc:creator>Steven She</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.woggie.net/2008/08/04/adobe-acrobatcom/</guid>
		<description><![CDATA[It seems that Adobe doesn&#8217;t want to be left out of the Web 2.0 office application fad with it&#8217;s Acrobat.com. It provides document writing, desktop sharing, PDF creation, and a neat online PDF reader. All of this was made possible by employing the formerly Macromedia&#8217;s Flash technology. I was initially excited about the online Acrobat [...]]]></description>
			<content:encoded><![CDATA[<p>It seems that Adobe doesn&#8217;t want to be left out of the Web 2.0 office application fad with it&#8217;s <a href="https://www.acrobat.com/">Acrobat.com</a>. It provides document writing, desktop sharing, PDF creation, and a neat online PDF reader. All of this was made possible by employing the formerly Macromedia&#8217;s Flash technology. I was initially excited about the online Acrobat reader since the Linux reader is <em>quite slow</em>, and the other online solutions, such as <a href="http://scribd.com">Scribd</a> are less than impressive. However, the Flash plug-in for Linux isn&#8217;t very impressive either. Well, in any case, Adobe seems to have gotten the right idea, by starting work on an <a href="http://www.adobe.com/openscreenproject/">open-source Flash</a> and certifying <a href="http://blogs.adobe.com/spartacusacrobat/2008/01/pdf_iso_standard.html">PDF as an ISO standard</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.woggie.net/2008/08/04/adobe-acrobatcom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Distributed Source Control using Mercurial</title>
		<link>http://www.woggie.net/2008/07/17/distributed-source-control-using-mercurial/</link>
		<comments>http://www.woggie.net/2008/07/17/distributed-source-control-using-mercurial/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 05:52:15 +0000</pubDate>
		<dc:creator>Steven She</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[mercurial]]></category>

		<guid isPermaLink="false">http://www.woggie.net/?p=47</guid>
		<description><![CDATA[I&#8217;ve recently started to experiment with distributed source control systems for my personal repository. I had been using Subversion previously, but it had several issues with directories that bothered me. In addition, since my primary computer was a laptop, I also wanted to have full commit and change tracking when I was offline. So distributed [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently started to experiment with distributed source control systems for my personal repository. I had been using <a href="http://subversion.tigris.org">Subversion</a> previously, but it had several issues with directories that bothered me. In addition, since my primary computer was a laptop, I also wanted to have full commit and change tracking when I was offline.</p>
<p>So distributed source control systems seemed to fit the bill. I looked at two systems in particular, <a href="http://www.selenic.com/mercurial/">Mercurial</a> and <a href="http://git.or.cz">git</a>. Mercurial caught my eye because of its simplicity, and similarity with the traditional, centralized SCMs such as CVS and Subversion. However, I actually started using git first. The reason was that many open source projects had switched to git and I needed to compile several bleeding edge packages. So, I had no choice but to learn to use git. However, I couldn&#8217;t really wrap my head around it. While git is no doubt, a very powerful SCM, it was also a very complicated SCM. I took me a good hour or so before I understood how to track branches.</p>
<p>So, I settled for Mercurial. While I was worried that Mercurial was too immature, the fact that the <a href="http://www.mozilla.com">Mozilla</a> projects are <a href="http://weblogs.mozillazine.org/preed/2007/04/version_control_system_shootou_1.html">also using Mercurial</a> was very comforting.</p>
<p><span id="more-47"></span></p>
<h4>Usage, Tips and Tricks</h4>
<p>I will not describe the setup and typical usage of Mercurial, since there are plenty of <a href="http://blog.medallia.com/2007/02/a_guided_tour_of_mercurial.html">good tutorials</a> out there. What I will do, is highlight some of the features that have really caught my eye and I find indispensible now.</p>
<p>The first great feature of Mercurial is the <code>addremove</code> command, which removes deleted files and adds newly created files to the repository. The command also has an optional parameter which you can specify the directory to process. I typically use <code>.</code>, such that my next commit would only contain the changes that I&#8217;ve made in the current directory.</p>
<pre>hg addremove   #For the entire repository
hg addremove . #For the current directory</pre>
<p>Another nice feature of Mercurial is its ability to ignore certain files and file patterns specified using a <em>single</em> <code>.hgignore</code> file. This is very convenient, for excluding temporary files, such as the intermediary files that are left behind after compiling LaTeX source code. Mercurial supports two syntax types when specifying patterns in <code>.hgignore</code>, <em>glob</em> and <em>regex</em>. The glob syntax allows you to specify patterns using wildcards (*). I primarily use regex, since <a href="http://xkcd.com/208/">regular expressions are very powerful</a>.</p>
<p>Here are the contents of my current <code>.hgignore</code>:</p>
<pre>syntax: regexp
.*.swp
.*.swo
^results/.*
^projects/.*/bin/
^lab/[0-9][0-9](winter|spring|fall)/.+\.(log|glo|glg|gls|dvi|aux|bm|bbl|blg|brf|ist|lof|lot|out|toc|vrb|ps)</pre>
<p>After creating the <code>.hgignore</code> file, don&#8217;t forget to add it to the repository for tracking using:</p>
<pre>hg add .hgignore</pre>
<h4>Tracking Branches</h4>
<p>For those interested in how to track branches using git, here is the command that I used. the -b modifer creates a branch in the local repository. The checkout command further require the <code>origin/</code> prefix for branches. In addition, the <code>--track</code> modifier tracks the remote branch such that a future pull will retrieve updates from the branch.</p>
<p>Using Mercurial:</p>
<pre>hg co somebranch</pre>
<p>Using git:</p>
<pre>git checkout --track -b localbranch origin/somebranch</pre>
<p><strong>Update on git</strong><br />
Thanks to the comment by Jakub, tracking a remote branch is actually rather easy using the <code>git remote</code> command. Here is an example I had to do with retrieving a xf86-video-ati git repository.</p>
<pre>git remote add agd5f git://cgit.freedesktop.org/~agd5f/xf86-video-ati/</pre>
<p>To restrict the remote repository to a particular branch, use <code>-t</code> like the following:</p>
<pre>git remote add agd5f -t agd-powerplay git://cgit.freedesktop.org/~agd5f/xf86-video-ati/</pre>
<p>We can now fetch data from the remote repository using the command:</p>
<pre>git fetch agd5f</pre>
<p>We can list the branches that are present in our repository by executing the command. Note that the remote repository shows up just like a separate branch to our local repository:</p>
<pre>git branch -r</pre>
<p>Now, we can pull from this remote repository, and merge the changes from the branch <code>agd-powreplay</code>:</p>
<pre>git pull agd5f agd-powerplay</pre>
<h4>Restoring a Single File to a Previous Revision</h4>
<p>It seems that Mercurial is currently not able to checkout a single file or subdirectory. It is one of the &#8220;todo&#8221; items in <a href="http://code.google.com/soc/2008/hg/appinfo.html?csaid=B091D9B819911D09">their Google Summer of Code project</a> this year, so perhaps we&#8217;ll have this feature soon enough. However, this is rather inconvenient at the moment. A workaround for this issue is to use the <code>hg cat</code> command, to view a previous revision of a file. In my case, I had overwritten a file <code>applet.svg</code> with changes that I did not want to keep. To revert the file, I executed:</p>
<pre>hg cat applet.svg &gt; applet.svg</pre>
<h4>Tags</h4>
<p>In Mercurial, <a href="http://www.selenic.com/mercurial/wiki/index.cgi/Tag">tags</a> are simply aliases for changesets.</p>
<pre>hg checkout -r tagname</pre>
<p>git treats tags, branches and trunk/master as one and the same, in the sense that they are all <a href="http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#def_refspec">refspecs</a>. This is similar to Subversion&#8217;s model, however, tags and branches aren&#8217;t simply another directory in the repository. You have to add the <code>tags/</code> prefix when checking out a tag:</p>
<p>Using git:</p>
<pre>git checkout -b localtag tags/remotetag</pre>
<h4>Conclusions</h4>
<p>I am very happy with Mercurial. I ran into a very annoying issue with Mercurial early on, when I executed <code>hg fetch</code>, and it used my repository URI, along with my username and <em>password</em> as a commit message. However, luckily this issue was fixed in the Mercurial 1.0 release. Admittedly, I&#8217;ve only been using a single person Mercurial repository for the past couple months, so I haven&#8217;t really experienced a situation where I needed the full power of a SCM. However, Mercurial has been so far, been smooth sailing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.woggie.net/2008/07/17/distributed-source-control-using-mercurial/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Beamer, PDFTeX and XeTeX</title>
		<link>http://www.woggie.net/2008/07/16/beamer-pdftex-and-xetex/</link>
		<comments>http://www.woggie.net/2008/07/16/beamer-pdftex-and-xetex/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 05:17:35 +0000</pubDate>
		<dc:creator>Steven She</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Site]]></category>
		<category><![CDATA[beamer]]></category>
		<category><![CDATA[latex]]></category>

		<guid isPermaLink="false">http://www.woggie.net/?p=44</guid>
		<description><![CDATA[I&#8217;ve recently started using the beamer class to create slides for my presentation. Up till now, I&#8217;ve been using powerdot, and found it more than sufficient. I initially thought beamer to be far more complex than necessary. However, one feature convinced me to switch: PDFTeX and XeTeX support. Both PDFTeX and XeTeX create a PDF [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently started using the beamer class to create slides for my presentation. Up till now, I&#8217;ve been using powerdot, and found it more than sufficient. I initially thought beamer to be far more complex than necessary. However, one feature convinced me to switch: PDFTeX and XeTeX support.</p>
<p>Both PDFTeX and XeTeX create a PDF directly from the LaTeX source. XeTeX is built on PDFTeX, and is of particular interest since it has added support for TrueType and OpenType fonts. For beamer presentations, this was <em>great</em>, since it opens up a huge selection of fonts for use in presentations. To change the default font in the document with XeTeX, use the <code>fontspec</code> package. The <code>xunicode</code> package provides additional mapping between LaTeX accents and the selected font. A third package, <code>xltxtra</code> provides some fixes relating to fonts.</p>

<div class="wp_syntax"><div class="code"><pre class="latex" style="font-family:monospace;"><span style="color: #800000; font-weight: normal;">\<span style="color: #800000; font-weight: bold;">documentclass</span></span><span style="color: #E02020; ">[</span><span style="color: #C08020; font-weight: normal;">xetex,mathserif,serif</span><span style="color: #E02020; ">]{</span><span style="color: #2020C0; font-weight: normal;">beamer</span><span style="color: #E02020; ">}</span>
&nbsp;
<span style="color: #800000; font-weight: normal;">\usepackage</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">fontspec</span><span style="color: #E02020; ">}</span>
<span style="color: #800000; font-weight: normal;">\usepackage</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">xunicode</span><span style="color: #E02020; ">}</span> <span style="color: #2C922C; font-style: italic;">%Unicode extras!</span>
<span style="color: #800000; font-weight: normal;">\usepackage</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">xltxtra</span><span style="color: #E02020; ">}</span>  <span style="color: #2C922C; font-style: italic;">%Fixes</span>
<span style="color: #800000; font-weight: normal;">\setmainfont</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">Calibri</span><span style="color: #E02020; ">}</span>
<span style="color: #800000; font-weight: normal;">\setmonofont</span><span style="color: #E02020; ">[</span><span style="color: #C08020; font-weight: normal;">Scale=0.86</span><span style="color: #E02020; ">]{</span><span style="color: #2020C0; font-weight: normal;">Andale Mono</span><span style="color: #E02020; ">}</span></pre></div></div>

<p>Of course, you should replace <code>Calibri</code> and <code>Andale Mono</code> with a font of your choice.</p>
<p>Another nice package to use with PDFTeX, is the <code>microtype</code> package, which provides better font output. Enable the package with this line:</p>

<div class="wp_syntax"><div class="code"><pre class="latex" style="font-family:monospace;"><span style="color: #800000; font-weight: normal;">\usepackage</span><span style="color: #E02020; ">[</span><span style="color: #C08020; font-weight: normal;">final,expansion=true,protrusion=true,spacing=true,kerning=true</span><span style="color: #E02020; ">]{</span><span style="color: #2020C0; font-weight: normal;">microtype</span><span style="color: #E02020; ">}</span></pre></div></div>

<h3>XeTeX and PGF / TiKZ</h3>
<p>PGF / TiKZ is a TeX library for drawing graphics using the PDFTeX and XeTeX drivers. However, you may encounter the following error message when attempting to compile a presentation with PGF / TiKZ pictures in your Beamer slides:</p>
<pre>Package pgf Warning: Your graphic driver pgfsys-dvipdfm.def does not supported marking the current position.</pre>
<p>Unfortunately, the included TiKZ library in the TeXLive 2007 distribution does not support XeTeX. This causes cross-picture coordinates to break, which can be used to <a href="http://www.fauskes.net/pgftikzexamples/beamer-arrows/">draw arrows between various TiKZ pictures</a> in a Beamer frame.</p>
<p>While we wait for TeXLive 2008, you can install the <a href="http://www.ctan.org/tex-archive/help/Catalogue/entries/pgf.html">new version of PGF from the CTAN</a> which adds support for the XeTeX driver. Simply download the package, and copy the files to your local <code>~/texmf/tex/</code> directory and execute <code>texhash</code> to update the TeX listings.</p>
<h3>XeTeX and Wide Pages</h3>
<p>Although I haven&#8217;t had much time to investigate the issue, but it seems that the <code>pgfpages</code> package that is used with beamer, is not entirely compatible with XeTeX. In particular, the commands:</p>

<div class="wp_syntax"><div class="code"><pre class="latex" style="font-family:monospace;"><span style="color: #800000; font-weight: normal;">\usepackage</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">pgfpages</span><span style="color: #E02020; ">}</span>
<span style="color: #800000; font-weight: normal;">\setbeameroption</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">show notes on second screen</span><span style="color: #E02020; ">}</span>        <span style="color: #2C922C; font-style: italic;">%beamer</span>
<span style="color: #800000; font-weight: normal;">\pgfpagesuselayout</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">two screens with optional second</span><span style="color: #E02020; ">}</span> <span style="color: #2C922C; font-style: italic;">%pgfpages</span></pre></div></div>

<p>is enough to have <code>pdflatex</code> generate notes to the right of the slide, but on <code>xelatex</code> it doesn&#8217;t have any effect. <a href="http://www.tug.org/pipermail/xetex/2009-June/013325.html">This post by Tomáš Janoušek</a> to the XeTeX mailing list noted that the problem was due to a bug in the <code>pgfpages</code> package. Adding the following snippet fixes the probblem:</p>

<div class="wp_syntax"><div class="code"><pre class="latex" style="font-family:monospace;"><span style="color: #800000; font-weight: normal;">\renewcommand</span><span style="color: #800000; font-weight: normal;">\pgfsetupphysicalpagesizes</span><span style="color: #E02020; ">{</span><span style="color: #2C922C; font-style: italic;">%</span>
    <span style="color: #800000; font-weight: normal;">\pdfpagewidth</span><span style="color: #800000; font-weight: normal;">\pgfphysicalwidth</span><span style="color: #800000; font-weight: normal;">\pdfpageheight</span><span style="color: #800000; font-weight: normal;">\pgfphysicalheight</span><span style="color: #2C922C; font-style: italic;">%</span>
<span style="color: #E02020; ">}</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.woggie.net/2008/07/16/beamer-pdftex-and-xetex/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Script to Connect to UW-Wireless Automatically Using Lynx</title>
		<link>http://www.woggie.net/2008/02/02/script-to-connect-to-uw-wireless-automatically-using-lynx/</link>
		<comments>http://www.woggie.net/2008/02/02/script-to-connect-to-uw-wireless-automatically-using-lynx/#comments</comments>
		<pubDate>Sat, 02 Feb 2008 21:09:17 +0000</pubDate>
		<dc:creator>Steven She</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.woggie.net/2008/02/02/script-to-connect-to-uw-wireless-automatically-using-lynx/</guid>
		<description><![CDATA[The uw-wireless authentication web page that shows up when connected to a UW network started to get on my nerves, so I wrote a little script using the lynx text browser to automatically authenticate when connecting to the network. It also performs a simple check to see if the first two numbers of your IP [...]]]></description>
			<content:encoded><![CDATA[<p>The uw-wireless authentication web page that shows up when connected to a UW network started to get on my nerves, so I wrote a little script using the lynx text browser to automatically authenticate when connecting to the network. It also performs a simple check to see if the first two numbers of your IP belong to UW.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
<span style="color: #007800;">IP</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">ifconfig</span> eth0 <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #ff0000;">'inet addr'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $2;}'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> -d: <span style="color: #660033;">-f</span> <span style="color: #000000;">2</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #007800;">TOP2</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$IP</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> -d. <span style="color: #660033;">-f</span> <span style="color: #000000;">1</span>-<span style="color: #000000;">2</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$TOP2</span> = <span style="color: #ff0000;">'129.97'</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
    <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">'Connected to UW Network...'</span>
    <span style="color: #c20cb9; font-weight: bold;">lynx</span> <span style="color: #660033;">-dump</span> -accept_all_cookies -post_data https:<span style="color: #000000; font-weight: bold;">//</span>uw-wireless.uwaterloo.ca<span style="color: #000000; font-weight: bold;">/</span>login<span style="color: #000000; font-weight: bold;">/</span>index.php <span style="color: #000000; font-weight: bold;">&lt;</span> ~<span style="color: #000000; font-weight: bold;">/</span>.uwwireless <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #ff0000;">'Successfully Connected'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $5;}'</span>
<span style="color: #000000; font-weight: bold;">else</span>
    <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">'Not connected to UW Network...'</span>
<span style="color: #000000; font-weight: bold;">fi</span></pre></div></div>

<p>Create the file <code>~/.uwwireless</code> and place the following in the file, replacing the YOUR_USERID and YOUR_PASSWORD with your own:</p>
<pre>userid=YOUR_USERID&amp;password=YOUR_PASSWORD&amp;mode=Connect</pre>
<p>Depending on your version of Lynx, the script may fail if the SSL certificate from uw-wireless.uwaterloo.ca is not recognized. I don&#8217;t know of a better solution than simply removing the check. Make the following change in <code>/etc/lynx.cfg</code> (or wherever your lynx.cfg may reside) to remove the SSL certificate prompt:</p>
<pre>FORCE_SSL_PROMPT:=yes</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.woggie.net/2008/02/02/script-to-connect-to-uw-wireless-automatically-using-lynx/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>TPTP Agent Controller on Arch Linux</title>
		<link>http://www.woggie.net/2007/12/14/tptp-agent-controller-on-arch-linux/</link>
		<comments>http://www.woggie.net/2007/12/14/tptp-agent-controller-on-arch-linux/#comments</comments>
		<pubDate>Fri, 14 Dec 2007 18:48:19 +0000</pubDate>
		<dc:creator>Steven She</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.woggie.net/2007/12/14/tptp-agent-controller-on-arch-linux/</guid>
		<description><![CDATA[Installing Eclipse TPTP using the Update Manager creates several problems under Linux. First, the permissions are missing for the native Integrated Agent Controller code. Symbolic links were also not created for the Integrated Agent Controller libraries, resulting in a &#8220;File too short&#8221; error message when running the executable. Second, since the Integrated Agent Controller is [...]]]></description>
			<content:encoded><![CDATA[<p>Installing Eclipse TPTP using the Update Manager creates several problems under Linux. </p>
<ul>
<li>First, the permissions are missing for the native Integrated Agent Controller code. Symbolic links were also not created for the Integrated Agent Controller libraries, resulting in a &#8220;File too short&#8221; error message when running the executable. </li>
<li>Second, since the Integrated Agent Controller is native code, it requires shared libraries which may or may not be installed on your system.</li>
<li>Third, several configuration files need to be writable by the user which executes Eclipse. I installed Eclipse using my own user (not root), so I did not run into this problem, however, there are <a href="http://dev.eclipse.org/newslists/news.eclipse.tptp/msg05252.html">several posts on the mailing list</a> addressing this problem.</li>
</ul>
<p>As a result, executing the Profiler within Eclipse would result in a cryptic &#8220;Unable to connect to localhost (port 10002)&#8221; message.</p>
<p>In order to get the Integrated Agent Controller running, we&#8217;ll need to fix the mentioned problems, here&#8217;s how to do it on Arch Linux:</p>
<ol>
<li>Change your working directory to where the TPTP agent controller is installed:

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> eclipse<span style="color: #000000; font-weight: bold;">/</span>plugins<span style="color: #000000; font-weight: bold;">/</span>org.eclipse.tptp.platform.ac.linux_ia32_4.4.1.v200709261752<span style="color: #000000; font-weight: bold;">/</span>agent_controller</pre></div></div>

</li>
<li>Fix the permissions of the executables:

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">&lt;</span>tptp_agent_controller_dir<span style="color: #000000; font-weight: bold;">&gt;/</span>bin
<span style="color: #c20cb9; font-weight: bold;">chmod</span> +x ACServer ACStart.sh ACStop.sh ACVersion.sh ChkPass RAServer RAStart.sh RAStop.sh SampleClient SetConfig.sh TimeCollector readme.txt tptpFileTransferAgent tptpProcessController<span style="color: #000000; font-weight: bold;">&lt;/</span>tptp_agent_controller_dir<span style="color: #000000; font-weight: bold;">&gt;</span></pre></div></div>

</li>
<li>Fix the symbolic links for the linked libraries. The following list of files should point to their <filename>.so.4.4.0 counterparts. The easiest way to do this is just to download a copy of the <a href="http://www.eclipse.org/tptp/home/downloads/">standalone Agent Controller</a> and to copy the <code>lib</code> directory to the <code>lib</code> directory of the Integrated Agent Controller:<br />
</filename></p>
<pre>./libtptpClient.so ./libjavaBaseAgent.so.4 ./libtptpUtils.so.4 ./libtptpAgentBase.so.4 ./libtptpUtils.so ./libtransportSupport.so.4 ./libbaseTransport.so.4 ./libhcclsm.so ./libhccldt.so.4 ./libhccls.so.4 ./libnamedPipeTL.so ./libhcclsm.so.4 ./libhcclco.so.4 ./libhccls.so ./libtptpACTL.so ./libtptpClient.so.4 ./libtransportSupport.so ./libtptpCmdExtr.so ./libhcjbnd.so ./libhcbnd.so ./libtptpCmdExtr.so.4 ./libtptpConfig.so ./libnamedPipeTL.so.4 ./libhcclco.so ./libpiAgent.so.4 ./libtptpCCTL.so ./libsocketTL.so ./libtptpCCTL.so.4 ./libjavaBaseAgent.so ./libprocessControlUtil.so.4 ./libtptpConfig.so.4 ./libcompSupp.so ./libtptpLogUtils.so ./libsharedMemTL.so.4 ./libtptpACTL.so.4 ./libprocessControlUtil.so ./libbaseTransport.so ./libpiAgent.so ./libhclaunch.so ./libsocketTL.so.4 ./libhcthread.so ./libcompSupp.so.4 ./libtptpLogUtils.so.4 ./libtptpAgentBase.so ./libhcthread.so.4 ./libsharedMemTL.so ./libhcbnd.so.4 ./libhcjbnd.so.4 ./libhclaunch.so.4 ./libhccldt.so</pre>
</li>
<li>Install the compatibility libraries using the PKGBUILD located in <a href="http://wiki.archlinux.org/index.php/Juniper_VPN">this wiki article</a>.</li>
<li>Ensure your configuration files are writable by the Eclipse user.</li>
<li>Occasionally, the Agent Controller leaves behind profiling data in the <code>/tmp/IBMRAC</code> directory which causes problems with subsequent executions of the Agent Controller. Delete <code>/tmp/IBMRAC</code> in order to remove the temporary files.</li>
<li>Note: Occasionally, a Java process may prevent the Agent Controller from exiting properly. Killing the appropriate process will allow the controller to be restarted. A &#8216;killall java&#8217; generally does the trick <img src='http://www.woggie.net/wp-content/plugins/tango-smilies/tango/face-smile.png' alt=':)' class='wp-smiley' /> </li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.woggie.net/2007/12/14/tptp-agent-controller-on-arch-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Firefox 3.0, ScribeFire, RadeonHD and other Miscellaneous Goodies</title>
		<link>http://www.woggie.net/2007/12/04/firefox-30-scribefire-and-other-miscellaneous-goodies-2/</link>
		<comments>http://www.woggie.net/2007/12/04/firefox-30-scribefire-and-other-miscellaneous-goodies-2/#comments</comments>
		<pubDate>Tue, 04 Dec 2007 20:25:43 +0000</pubDate>
		<dc:creator>Steven She</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.woggie.net/2007/12/04/firefox-30-scribefire-and-other-miscellaneous-goodies-2/</guid>
		<description><![CDATA[I&#8217;m making this post from ScribeFire, a Firefox extension for writing blog entries. Give it a try! Firefox 3.0 is in beta now. Tons of change, but the most important ones to me are: Full page zoom, better GTK integration, and the promised Firefox 2.0 bookmarks revamp. I suggest trying out the nightly builds to [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>I&#8217;m making this post from <a href="http://www.scribefire.com/">ScribeFire</a>, a Firefox extension for writing blog entries. Give it a try!</li>
<li><a href="http://www.mozillazine.org/talkback.html?article=22714">Firefox 3.0</a> is in beta now. Tons of change, but the most important ones to me are: Full page zoom, better GTK integration, and the promised Firefox 2.0 bookmarks revamp. I suggest trying out the <a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/">nightly builds</a> to see the latest and greatest.</li>
<li>The open source <a href="http://gitweb.freedesktop.org/?p=xorg/driver/xf86-video-radeonhd;a=summary">RadeonHD</a> driver has reached version 1.0!  I have to switch to a VT in order to control the panel brightness, and it consumes more power than the fglrx driver since there is no dynamic clock management, but most important to me is that&#8230; <em>suspend and </em><em>hibernate just work!</em></li>
<li>The KDE 4.0 release has been <a href="http://dot.kde.org/1196525703/">pushed to January</a>. I can&#8217;t blame them, having tried bits and pieces of it so far, it definitely needs the extra time. I much rather wait and have a stable desktop environment.</li>
<li>I switched to <a href="http://www.archlinux.org">Arch Linux</a> a couple months ago. I highly recommend it for experienced Linux users who would like a binary distribution, with a simple system management framework, and a great package management system.</li>
<li><a href="http://kile.sourceforge.net/">Kile 2.0</a> has been released. There are some nice GUI changes, but most noticeable to me is several fixes to the static line wrapping feature.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.woggie.net/2007/12/04/firefox-30-scribefire-and-other-miscellaneous-goodies-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enable root account in Ubuntu</title>
		<link>http://www.woggie.net/2007/07/11/enable-root-account-in-ubuntu/</link>
		<comments>http://www.woggie.net/2007/07/11/enable-root-account-in-ubuntu/#comments</comments>
		<pubDate>Wed, 11 Jul 2007 05:48:42 +0000</pubDate>
		<dc:creator>Steven She</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.woggie.net/2007/07/11/enable-root-account-in-ubuntu/</guid>
		<description><![CDATA[Ubuntu disables the root account by default. One simple command can re-enable it: sudo passwd root To switch to the root user in the shell: su Alternatively, you can switch to the root user in the shell without enabling the user account by using the following command: sudo -s]]></description>
			<content:encoded><![CDATA[<p>Ubuntu disables the root account by default. One simple command can re-enable it:</p>
<pre>
sudo passwd root</pre>
<p>To switch to the root user in the shell:</p>
<pre>su</pre>
<p>Alternatively, you can switch to the root user in the shell without enabling the user account by using the following command:</p>
<pre>sudo -s</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.woggie.net/2007/07/11/enable-root-account-in-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finding duplicate lines with sed</title>
		<link>http://www.woggie.net/2005/07/25/finding-duplicate-lines-with-sed/</link>
		<comments>http://www.woggie.net/2005/07/25/finding-duplicate-lines-with-sed/#comments</comments>
		<pubDate>Tue, 26 Jul 2005 00:41:16 +0000</pubDate>
		<dc:creator>Steven She</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://localhost/shshe/woggie.net/2005/07/25/finding-duplicate-lines-with-sed/</guid>
		<description><![CDATA[Something simple and useful. Finding the duplicate lines in UNIX is done with the following series of commands: sort &#91;file&#93; &#124; uniq -c &#124; awk '$1 !~/1/']]></description>
			<content:encoded><![CDATA[<p class="entry">Something simple and useful. Finding the duplicate lines in UNIX is done with the following series of commands:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sort</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #c20cb9; font-weight: bold;">file</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">uniq</span> <span style="color: #660033;">-c</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'$1 !~/1/'</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.woggie.net/2005/07/25/finding-duplicate-lines-with-sed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Keep trailing spaces when unblocking with dd</title>
		<link>http://www.woggie.net/2005/07/15/keep-trailing-spaces-when-unblocking-with-dd/</link>
		<comments>http://www.woggie.net/2005/07/15/keep-trailing-spaces-when-unblocking-with-dd/#comments</comments>
		<pubDate>Sat, 16 Jul 2005 00:42:38 +0000</pubDate>
		<dc:creator>Steven She</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://localhost/shshe/woggie.net/2005/07/15/keep-trailing-spaces-when-unblocking-with-dd/</guid>
		<description><![CDATA[I had the task of a simple FTP file transfer from a Mainframe to the development box. Easy enough, until I discovered the horrors of EBCDIC. Anyways, the UNIX tool dd converts one file type to another. To convert from EBCDIC to ASCII, set the conv=ascii parameter. The problem with this is that the file [...]]]></description>
			<content:encoded><![CDATA[<p>I had the task of a simple FTP file transfer from a Mainframe to the development box. Easy enough, until I discovered the horrors of EBCDIC. Anyways, the UNIX tool <em>dd</em> converts one file type to another. To convert from EBCDIC to ASCII, set the <em>conv=ascii</em> parameter.</p>
<p>The problem with this is that the file I have are fixed length records. When specifying the record length, dd goes and trims the trailing spaces off each record. To fix this:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;">conv</span>=ascii <span style="color: #007800;"><span style="color: #000000; font-weight: bold;">if</span></span>=<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000; font-weight: bold;">in</span> <span style="color: #c20cb9; font-weight: bold;">file</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">|</span> fold -w<span style="color: #7a0874; font-weight: bold;">&#91;</span>record length<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #7a0874; font-weight: bold;">&#91;</span>out <span style="color: #c20cb9; font-weight: bold;">file</span><span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.woggie.net/2005/07/15/keep-trailing-spaces-when-unblocking-with-dd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up Forward / Back Buttons on Logitech MX518</title>
		<link>http://www.woggie.net/2005/04/11/setting-up-forward-back-buttons-on-logitech-mx518/</link>
		<comments>http://www.woggie.net/2005/04/11/setting-up-forward-back-buttons-on-logitech-mx518/#comments</comments>
		<pubDate>Mon, 11 Apr 2005 23:48:49 +0000</pubDate>
		<dc:creator>Steven She</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://localhost/shshe/woggie.net/2005/04/11/setting-up-forward-back-buttons-on-logitech-mx518/</guid>
		<description><![CDATA[Note: This guide was based on Ubuntu 5.04. Step 1: X Server Settings Edit the /etc/X11/xorg.conf file and look for the “InputDevice” section, make sure it looks like this: Section “InputDevice” Identifier “Configured Mouse” Driver “mouse” Option “CorePointer” Option “Device” “/dev/input/mice” Option “Protocol” “ExplorerPS/2″ Option “Buttons” “7″ Option “ZAxisMapping” “4 5″ EndSection Make sure that [...]]]></description>
			<content:encoded><![CDATA[<p>Note: This guide was based on Ubuntu 5.04.</p>
<p><strong>Step 1: X Server Settings</strong><br />
Edit the /etc/X11/xorg.conf file and look for the “InputDevice” section, make sure it looks like this:</p>
<pre>
Section “InputDevice”
Identifier “Configured Mouse”
Driver “mouse”
Option “CorePointer”
Option “Device” “/dev/input/mice”
Option “Protocol” “ExplorerPS/2″
Option “Buttons” “7″
Option “ZAxisMapping” “4 5″
EndSection</pre>
<p>Make sure that the ‘Buttons’ is ‘7′, ‘Protocol’ is ‘ExplorerPS/2′, and ‘ZAxisMapping’ is ‘4 5′.</p>
<p><strong>Step 2: Install imwheel</strong><br />
Type:</p>
<pre>sudo apt-get install imwheel</pre>
<p>Reboot, and it should work!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.woggie.net/2005/04/11/setting-up-forward-back-buttons-on-logitech-mx518/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

