<?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>James Emmrich &#187; ProTip</title>
	<atom:link href="http://www.lwp.ca/james/tag/protip/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lwp.ca/james</link>
	<description>Just another motorcycle linux geek</description>
	<lastBuildDate>Mon, 18 Apr 2011 15:38:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>Mount Remote Filesystem Over ssh</title>
		<link>http://www.lwp.ca/james/2011/03/mount-remote-filesystem-over-ssh/</link>
		<comments>http://www.lwp.ca/james/2011/03/mount-remote-filesystem-over-ssh/#comments</comments>
		<pubDate>Fri, 01 Apr 2011 02:27:32 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[ProTip]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.lwp.ca/james/?p=582</guid>
		<description><![CDATA[Here is a nice tip when having to access remote files. Whether it&#8217;s a personal computer or a device somewhere running an ssh server, sometimes it&#8217;s great to use those files as if they were local. I use this for sharing my media collection between computers outside of my local network. &#160; Install the Packages [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a nice tip when having to access remote files. Whether it&#8217;s a personal computer or a device somewhere running an ssh server, sometimes it&#8217;s great to use those files as if they were local.</p>
<p>I use this for sharing my media collection between computers outside of my local network.</p>
<p>&nbsp;</p>
<h2>Install the Packages</h2>
<pre>apt-get install sshfs</pre>
<p>&nbsp;</p>
<h2>Mount the Remote Filesystem</h2>
<pre>sshfs james@james.dyns-home.com:/home/james/music /home/james/music</pre>
<p>As you can see here, I am using dyndns&#8217;s service so that my home pc&#8217;s dynamic IP is always accessible. I suggest checking them out and installing the <em>ddclient</em> package to maintain your dyndns account.</p>
<p>&nbsp;</p>
<h2>Unmounting the Remote Filesystem</h2>
<pre>fusermount -u /home/james/music</pre>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lwp.ca/james/2011/03/mount-remote-filesystem-over-ssh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running GUI applications as another user in Linux</title>
		<link>http://www.lwp.ca/james/2011/03/running-gui-applications-as-another-user-in-linux/</link>
		<comments>http://www.lwp.ca/james/2011/03/running-gui-applications-as-another-user-in-linux/#comments</comments>
		<pubDate>Sun, 13 Mar 2011 01:12:29 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ProTip]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.lwp.ca/james/?p=577</guid>
		<description><![CDATA[Here is a handy script I made for those situations where you are logged into a user account but require running a program as another user. Why would this be handy? Well in my case, I have two users on my laptop. My personal account which I use at home, and my work account. This [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a handy script I made for those situations where you are logged into a user account but require running a program as another user.</p>
<p>Why would this be handy? Well in my case, I have two users on my laptop. My personal account which I use at home, and my work account. This helps me keep my work data separate from my personal data. But how do I use my instant messenger or IRC chat and retain chat logs and preferences without having to duplicate them or create weird symbolic links everywhere?</p>
<p>The bash script:</p>
<pre>#!/bin/bash
xhost +
gksudo -u $1 $2
xhost -</pre>
<p>Set the permissions to for executing:</p>
<pre>chmod +x ﻿AppAsDiffUser.sh</pre>
<p>The script takes two arguments, the user you want to run as and the application you want to run. Now we can run the script:</p>
<pre>./AppAsDiffUser.sh james xchat</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lwp.ca/james/2011/03/running-gui-applications-as-another-user-in-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tethering with the iPhone 3Gs on Ubuntu Karmic Koala 9.10</title>
		<link>http://www.lwp.ca/james/2010/04/tethering-with-the-iphone-3gs-on-ubuntu-karmic-koala-9-10/</link>
		<comments>http://www.lwp.ca/james/2010/04/tethering-with-the-iphone-3gs-on-ubuntu-karmic-koala-9-10/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 17:53:15 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Cellphone]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ProTip]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Tips 'n Hacks]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.lwp.ca/james/?p=530</guid>
		<description><![CDATA[Ok, this seemed to be a headache for a good hour. Under Windows it was easy easy easy. It seems to be an issue with pairing and Internet Tethering being off and turned on without the iPhone being restarted and how Ubuntu handles the pairing over this transition. Most notable issue is that Network Manager [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, this seemed to be a headache for a good hour. Under Windows it was easy easy easy. It seems to be an issue with pairing and Internet Tethering being off and turned on without the iPhone being restarted and how Ubuntu handles the pairing over this transition.</p>
<p>Most notable issue is that Network Manager will just fail to connect to the bluetooth access point immediately. If you install blueman, a great bluetooth manager, you will get the message &#8220;Connection refused (111)&#8221; or something similar which is a little more helpful, but not quite. To fix this, follow these steps.</p>
<ol>
<li>Turn on tethering, on your iPhone click Settings &gt; General &gt; Network and turn on Internet Tethering. Tethering seems to be turned off by default on the iPhone.</li>
<li>Make sure that you delete all pairing with your iPhone in the bluetooth-manager (right click and go to preferences)</li>
<li>In your iPhone, go to Settings &gt; General &gt; Bluetooth, slide the computer paired connection, to the left and &#8220;Forget this Device&#8221;</li>
<li>Hold down the power button and restart your iPhone</li>
<li>In Ubuntu, right click bluetooth-manager and go to Preferences</li>
<li>Set your friendly name and then click Set up new Device&#8230;</li>
<li>On your iPhone enter the passcode on your laptop</li>
<li>Success on pairing!</li>
<li>On the computer make sure to check the option to use this as a network connection.</li>
<li>Test: Turn off your Wifi on the computer, and click the Network Manager icon, you should see 23:AF:45:BE:12:FA PANU or something similar. Click to connect.</li>
</ol>
<p><strong>Important notes:</strong></p>
<p>Wifi Issues</p>
<p>Bluetooth does not seem to work well with Wii connections that are active. I tend to get my bluetooth connections dropping out or just plain will not connect. So make sure if you are having problems at all, turn Wifi to remove one more variable from problem.</p>
<p>Cellular Provider</p>
<p>I am with Telus Mobility and they offer the ability to tether on all their smartphone/data plans.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lwp.ca/james/2010/04/tethering-with-the-iphone-3gs-on-ubuntu-karmic-koala-9-10/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Using Git to manage online website projects</title>
		<link>http://www.lwp.ca/james/2010/03/using-git-to-manage-online-website-projects/</link>
		<comments>http://www.lwp.ca/james/2010/03/using-git-to-manage-online-website-projects/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 20:25:33 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ProTip]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.lwp.ca/james/?p=522</guid>
		<description><![CDATA[I have recently been getting into using Git for my more complicated projects. After a bit of google foo, I came across some references to using Git to push and pull website updates. This post is my way of remembering how I set up new git repositories. I did not &#8220;figure&#8221; this out myself, but [...]]]></description>
			<content:encoded><![CDATA[<p>I have recently been getting into using Git for my more complicated projects. After a bit of google foo, I came across some references to using Git to push and pull website updates. This post is my way of remembering how I set up new git repositories. I did not &#8220;figure&#8221; this out myself, but I have linked to the originator. But I did modify it slightly.</p>
<p><strong>Related material:</strong></p>
<ul>
<li>This is one of the websites that I used as a reference, quite a bit is the same, even the borrowed graphic:<br />
<a class="linkification-ext" title="Linkification: http://dmiessler.com/blog/using-git-to-maintain-your-website" href="http://dmiessler.com/blog/using-git-to-maintain-your-website">http://dmiessler.com/blog/using-git-to-maintain-your-website</a></li>
<li>Some basic information on Git usage<br />
<a class="linkification-ext" title="Linkification: http://www.kernel.org/pub/software/scm/git-core/docs/v1.2.6/tutorial.html" href="http://www.kernel.org/pub/software/scm/git-core/docs/v1.2.6/tutorial.html">http://www.kernel.org/pub/software/scm/git-core/docs/v1.2.6/tutorial.html</a></li>
</ul>
<p><strong>First how it works</strong><br />
The server has the htdocs of the live website as well as a htdocs.git as the central main repository. Everything will be pushed there, and once completed, automatically pulled into the live website. The structure is as so:</p>
<p><a href="http://www.lwp.ca/james/wp-content/uploads/2010/03/git-tree.gif"><img class="aligncenter size-full wp-image-523" title="git-tree" src="http://www.lwp.ca/james/wp-content/uploads/2010/03/git-tree.gif" alt="" width="263" height="316" /></a></p>
<p>Install Git on all systems, I use Debian.</p>
<p><span style="font-family: courier new;">sudo apt-get install git-core</span></p>
<p>On the server enter your websites htdocs:</p>
<p><span style="font-family: courier new;">git init</span><br />
<span style="font-family: courier new;">git add .</span><br />
<span style="font-family: courier new;">git commit -a -m &#8220;Initial import of project.&#8221;</span></p>
<p>Now we want to clone this repository.</p>
<p><span style="font-family: courier new;">cd ..</span><br />
<span style="font-family: courier new;">git clone &#8211;bare htdocs htdocs.git</span></p>
<p>On the local system now:</p>
<p><span style="font-family: courier new;">git clone ssh://<a class="linkification-ext" title="Linkification: http://root@lwp.ca/full/path/to/htdocs.git" href="http://root@lwp.ca/full/path/to/htdocs.git">root@lwp.ca/full/path/to/htdocs.git</a></span></p>
<p>On the server:</p>
<p><span style="font-family: courier new;">mv htdocs htdocs.backup</span><br />
<span style="font-family: courier new;">git clone htdocs.git</span></p>
<p>Note: htdocs.backup can be removed once the system is setup and working.<br />
<strong><br />
Final updates to the server</strong><br />
Due to the clone process, file permissions and ownership are now all root. So use the htdocs.backup to figure out what the file ownership/permissions were. Make sure that your new htdocs and all its sub files are back to normal.</p>
<p><span style="font-family: courier new;">chown -R vu2000:vu2000 htdocs</span></p>
<p><strong>Prevent the versioning of useless files</strong><br />
In the server repository edit htdocs/.gitignore, and make sure we do not back up cache directories and backup files *~ and config files. Do not add trailing slashes as this will prevent the exclude from working. Prep-ending slashes means the root of the git repo. By placing the .gitignore here, it will be part of the repository so anyone else working on the project will be using the same ignore rules.</p>
<p><span style="font-family: courier new;">*~</span><br />
<span style="font-family: courier new;">/wp-content/uploads</span><br />
<span style="font-family: courier new;">/cache</span><br />
<span style="font-family: courier new;">/users/uploads<br />
/configuration.php<br />
</span><br />
Now because we issued a &#8220;git add .&#8221; we should untrack files we don&#8217;t want to send back and forth.</p>
<p><span style="font-family: courier new;">git rm &#8211;cache configuration.php</span></p>
<p>Now when we do pushes and pulls we don&#8217;t have to keep updating our config file every time. We should make a backup however so we always have a copy.</p>
<p><span style="font-family: courier new;">cp configuration.php configuration.php.live</span></p>
<p><strong>Protecting the source</strong><br />
Also, place a file in all .git folders called .htaccess containing:</p>
<p><span style="font-family: courier new;">Deny from all</span></p>
<p>This will prevent visitors with crafty google foo to download and view source code files.</p>
<p><strong>Auto updating Live site</strong><br />
Now to enable auto updates when updates are pushed from offline dev machine to server.</p>
<p>On the server in our <a class="linkification-ext" title="Linkification: http://htdocs.git/hooks/post-update" href="http://htdocs.git/hooks/post-update">htdocs.git/hooks/post-update</a>, make sure it contains <strong>only</strong> the following:</p>
<p><span style="font-family: courier new;">cd ../htdocs</span><br />
<span style="font-family: courier new;">env -i git pull</span></p>
<p>Then make it executable</p>
<p><span style="font-family: courier new;">chmod +x post-update</span></p>
<p><strong>Done, now test</strong><br />
Now on the development machine make some changes and test.</p>
<p><span style="font-family: courier new;">touch &#8220;new file&#8221;</span><br />
<span style="font-family: courier new;">git add .</span><br />
<span style="font-family: courier new;">git commit -a -m &#8220;Testing first update&#8221;</span><br />
<span style="font-family: courier new;">git push</span></p>
<p><em>Yay! Everything should be working!</em></p>
<p><strong>Notes on usage.</strong></p>
<p>Updates on dev machine can be pushed to server like so:</p>
<p><span style="font-family: courier new;">git add .</span><br />
<span style="font-family: courier new;">git commit -a -m &#8220;This is an update&#8221;</span><br />
<span style="font-family: courier new;">git push</span></p>
<p>If changes were done on the server from some reason, navigate to the htdocs folder and run:</p>
<p><span style="font-family: courier new;">git add .</span><br />
<span style="font-family: courier new;">git commit -a -m &#8220;Changes made online&#8221;</span><br />
<span style="font-family: courier new;">git push</span></p>
<p>Then on your dev machine pull the updates.</p>
<p><span style="font-family: courier new;">git pull</span></p>
<p>If you need to check what has happened since the last update:</p>
<p><span style="font-family: courier new;">git status</span></p>
<p>Merge one branch into another:</p>
<p><span style="font-family: courier new;">git checkout master<br />
git merge myBugFixes</span></p>
<p>Delete your old branch:</p>
<pre>git branch -D myBugFixes
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.lwp.ca/james/2010/03/using-git-to-manage-online-website-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatic database backup via script</title>
		<link>http://www.lwp.ca/james/2010/02/automatic-database-backup-via-script/</link>
		<comments>http://www.lwp.ca/james/2010/02/automatic-database-backup-via-script/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 19:13:16 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ProTip]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Tips 'n Hacks]]></category>

		<guid isPermaLink="false">http://www.lwp.ca/james/?p=475</guid>
		<description><![CDATA[As mentioned before somewhere in my blog, here is the script I have written to back up my databases. This is actually my local backup script, I have a much different one on the server which uses a passwordless ssh connection to backup the databases offsite. #!/bin/sh # Database backup 2008 &#60;jemmrich@gmail.com&#62; # Nightly Usage: [...]]]></description>
			<content:encoded><![CDATA[<p>As mentioned before somewhere in my blog, here is the script I have written to back up my databases. This is actually my local backup script, I have a much different one on the server which uses a passwordless ssh connection to backup the databases offsite.</p>
<pre>#!/bin/sh
# Database backup 2008 &lt;jemmrich@gmail.com&gt;
# Nightly Usage:
# 0 0 * * * /home/james/Dropbox/Home/mobilewolf/scripts/backup.sh &amp;&gt; /dev/null

LOGFILE="/home/james/Dropbox/Home/mobilewolf/databases/databases.log"
BACKUPDIR="/home/james/Dropbox/Home/mobilewolf/databases"
STARTTIME="$(date +%Y-%m-%d-%r)"

# MySQL Login
SQLUSER="sqluser"
SQLPASS="sqlpass"

# Dump databases
echo "*** Database Backup Started: $STARTTIME" &gt;&gt; $LOGFILE

# Keep yesterdays databases
rm -f $BACKUPDIR/yesterday/*
mv $BACKUPDIR/*.gz $BACKUPDIR/yesterday/

for i in `echo "show databases" | mysql -u $SQLUSER -p$SQLPASS | grep -v Database`;
do
 mysqldump -u $SQLUSER -p$SQLPASS $i &gt; /tmp/$i.sql
 echo $i &gt;&gt; $LOGFILE
 gzip /tmp/$i.sql

 # Send Databases
 cp /tmp/*.sql.gz $BACKUPDIR/

 # Remove our dumps to keep us clean
 rm -f /tmp/*.sql.gz
done

echo "*** Database Backup Ended: $(date +%Y-%m-%d-%r)" &gt;&gt; $LOGFILE
echo "\n" &gt;&gt; $LOGFILE</pre>
<p><strong>Setup</strong></p>
<ol>
<li>Change the user and password to a user that has ability to access all databases for dump</li>
<li>Download and set executable permissions chmod +x backup_databases.sh</li>
<li>edit cron to execute every night: crontab -e</li>
<li>add: 0 0 * * * /home/james/Dropbox/Home/mobilewolf/scripts/backup_databases.sh &amp;&gt; /dev/null</li>
</ol>
<p><strong>Ideas for your setup</strong></p>
<ul>
<li>The line following &#8220;Send databases&#8221; replace cp, with scp to send the databases to remote server. You will need to have passwordless ssh connections setup.</li>
<li>Have the log file emailed to you once completed</li>
</ul>
<p><strong>My Future Improvements</strong></p>
<ul>
<li>Enable backup archiving for the past week rotated daily so I can go back to a database from 2 or 3 days or even a week ago</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.lwp.ca/james/2010/02/automatic-database-backup-via-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How I use Dropbox on Ubuntu</title>
		<link>http://www.lwp.ca/james/2010/02/how-i-use-dropbox-on-ubuntu/</link>
		<comments>http://www.lwp.ca/james/2010/02/how-i-use-dropbox-on-ubuntu/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 22:45:00 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ProTip]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Tips 'n Hacks]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.lwp.ca/james/?p=468</guid>
		<description><![CDATA[Dropbox.com has become a huge time saver for me, and most likely a life saver as well. I have a folder in my Dropbox called Home. Here I have sub folders for each machine that I have. My two laptops, a desktop which hold computer specific files that are different for each computer I have. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://www.dropbox.com/referrals/NTE3MTE2Njk"><img class="alignleft size-full wp-image-472" title="dropbox_logo" src="http://www.lwp.ca/james/wp-content/uploads/2010/02/dropbox_logo_home.png" alt="" width="290" height="75" /></a><a href="https://www.dropbox.com/referrals/NTE3MTE2Njk">Dropbox.com</a> has become a huge time saver for me, and most likely a life saver as well.</p>
<p>I have a folder in my Dropbox called Home. Here I have sub folders for each machine that I have. My two laptops, a desktop which hold computer specific files that are different for each computer I have.</p>
<p>Files such as:</p>
<ul>
<li>/etc/hosts</li>
<li>/etc/fstab</li>
<li>/databases/</li>
</ul>
<p>Rather than copying these manually, I have simply moved the files to the dropbox and then symbolically linked them. That way when the system updates these files, Dropbox does it&#8217;s sync.</p>
<p>The databases folder is a folder which contains database dumps. My crontab is setup to nightly dump databases in tar form and place them here, for Dropbox to store.</p>
<p>I also have a folder called Resources. This contains files that are shared between computers. I have symbolically linked my .fonts folder here. Now whenever I install a new font for a design project, all my other computers are updated too.</p>
<p>For chat software like Pidgin and XChat, I have symbolically linked their folders .purple and xchat2 respectively, to my Dropbox home folder. Because these will be shared between computers I don&#8217;t have them in their respect computer sub folder. Now no matter what computer I chat on, my chat logs and software settings are up to date.</p>
<p>Projects that I work on are placed in my Dropbox under a folder called Projects, with each project as its own sub folder.</p>
<p>During my work, or daily routine I tend to shuffle, download, delete, and create new files. While I don&#8217;t always place these files to my Dropbox, I am very careful to not hold them on my laptops for long periods of time.</p>
<p>For files that I want to hold, I either move them to my Dropbox or to my NAS server depending solely on their importance and need of accessibility.</p>
<p><strong>The results</strong></p>
<p>I can now format my hard drive at any time, provided that Dropbox has had time to sync any changes. I also have the feeling of security knowing that my hard drive crashes will not take me out of commission.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lwp.ca/james/2010/02/how-i-use-dropbox-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Remove The Annoying Update manager Pop-up in Ubuntu Jaunty</title>
		<link>http://www.lwp.ca/james/2009/06/how-to-remove-the-annoying-update-manager-pop-up-in-ubuntu-jaunty/</link>
		<comments>http://www.lwp.ca/james/2009/06/how-to-remove-the-annoying-update-manager-pop-up-in-ubuntu-jaunty/#comments</comments>
		<pubDate>Sat, 20 Jun 2009 06:33:05 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ProTip]]></category>
		<category><![CDATA[Tips 'n Hacks]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.lwp.ca/james/?p=419</guid>
		<description><![CDATA[I have found this handy article. One of my pet peeves is intrusive software. And with Ubuntu&#8217;s new release, Jaunty, which pops up the upgrade program in the mix of all your open documents and workspace, can be quite annoying. I will bloody upgrade when I&#8217;m good and ready thank you very much! Useful excerpts: [...]]]></description>
			<content:encoded><![CDATA[<p>I have found this handy article. One of my pet peeves is intrusive software. And with Ubuntu&#8217;s new release, Jaunty, which pops up the upgrade program in the mix of all your open documents and workspace, can be quite annoying. I will bloody upgrade when I&#8217;m good and ready thank you very much!</p>
<p>Useful excerpts:</p>
<p><strong>Alternative method (via the terminal)</strong></p>
<p>If you are just plain lazy, here’s a much easier step.</p>
<p>In your terminal, type the following command:</p>
<pre>gconftool -s --type bool /apps/update-notifier/auto_launch false</pre>
<p>To recover:</p>
<pre>gconftool -s --type bool /apps/update-notifier/auto_launch true</pre>
<p>Original article here:</p>
<p><a href="http://maketecheasier.com/remove-the-annoying-update-manager-pop-up-in-ubuntu-jaunty/2009/06/18">http://maketecheasier.com/remove-the-annoying-update-manager-pop-up-in-ubuntu-jaunty/2009/06/18</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lwp.ca/james/2009/06/how-to-remove-the-annoying-update-manager-pop-up-in-ubuntu-jaunty/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flashing the HTC Titan (the Telus P4000)</title>
		<link>http://www.lwp.ca/james/2009/05/flashing-the-htc-titan-the-telus-p4000/</link>
		<comments>http://www.lwp.ca/james/2009/05/flashing-the-htc-titan-the-telus-p4000/#comments</comments>
		<pubDate>Tue, 05 May 2009 21:24:43 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Cellphone]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[HTC]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[ProTip]]></category>
		<category><![CDATA[Tips 'n Hacks]]></category>
		<category><![CDATA[Titan]]></category>
		<category><![CDATA[Windows Mobile]]></category>

		<guid isPermaLink="false">http://www.lwp.ca/james/?p=217</guid>
		<description><![CDATA[It has been a long time since I flashed my phone, so I figured I should archive the files I used and the process I took in case I need to do it again sometime in the future. Maybe this will help someone else with the same phone as well. There are a couple important [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_208" class="wp-caption alignright" style="width: 390px"><img class="size-full wp-image-208" title="htc_titian" src="http://www.lwp.ca/james/wp-content/uploads/2008/09/htc_titian.jpg" alt="HTC Titan" width="380" height="450" /><p class="wp-caption-text">HTC Titan</p></div>
<p>It has been a long time since I flashed my phone, so I figured I should archive the files I used and the process I took in case I need to do it again sometime in the future. Maybe this will help someone else with the same phone as well.</p>
<p>There are a couple important things before you flash your phone, they seem obvious but&#8230;.</p>
<ol>
<li>Your first time flashing will be a bitch, if it is your only phone and think you will need 9-1-1 between now and mid tomorrow, do not do it! Remember? Your life depends on it.</li>
<li>Backup your data. Use ActiveSync, or whatever software you like, and get your contacts, notes, emails, text messages, docs, etc off the phone. I would suggest getting an SD card 2 GB or better as the space on the phone is a bit limited. It is important to note that simply having an SD card does not mean you don&#8217;t have to back up!</li>
<li>Flashing will remove the devices usage stats such as lifetime use etc.</li>
<li>Flashing will void your warranty.</li>
<li>There is a remote possibility if you are not careful, that you could brink your phone, turning it into an expensive albeit flashy paper weight.</li>
<li>This is <strong>only</strong> for the HTC Titan model phone, in Canada it is called HTC P4000</li>
<li>Obviously this is for my own personal record and works for me, however, as always make sure you understand the process first so you don&#8217;t shoot yourself in the foot.</li>
</ol>
<h2><strong>Benefits to Flashing</strong></h2>
<ol>
<li>GPS module is activated (device ships with GPS module crippled)</li>
<li>Get the latest OS version and be able to cook your own version</li>
<li>Can be more stable and less RAM than previous, or, could lock up all the time and run out of RAM. This benefit is chosen by you.</li>
</ol>
<h2><strong>The Method</strong></h2>
<p>I may have deviated slightly from the &#8220;standard&#8221; way of doing it. Although these instructions are almost identical to other places on the nets, this will work for HTC Titan owners in Canada, if you live in the States, it may differ slightly. Thanks goes to all those crackers out there who risked their phones so we can enjoy our GPS!</p>
<p>There are 5 stages to getting your phone flashed. Follow them very carefully, and read through the instructions a couple times before hand.</p>
<p>At the bottom of the page you can download all the files that I used.</p>
<p>You will need a Windows computer, (preferably Windows XP) with latest version of ActiveSync, and probably Outlook, atleast 250 MBs of free hard drive space, a USB cable for phone to computer, and plenty of paitence.</p>
<h3>Stage 1: Retrieving Provisioning Data</h3>
<p>Now that all your data is backed up&#8230;.</p>
<ol>
<li><strong>Get your ESN, MSID and A-Key info</strong> by dialing ##778#, that will launch the EPST configuration menu Note: Some carriers (Canadians) do not need the last #, so just ##778
<ol>
<li>Select view</li>
<li>make note of your ESN (Hex) value</li>
<li>make note of your ESN (Dec) value</li>
<li>make note of your MSID value (looks like a 10 digit tel number)</li>
<li>make note of the rest of the info on a different sheet of paper. And I mean all of it no matter how mundane. This is for backup purposes in case something does not work correctly later. I skipped this, and it took me a month to fix my data connection!</li>
<li>select &lt;view info&gt; and select A-Key. Some carriers leave this blank, some need this info. If there is info here, make note of it now.</li>
<li>click &lt;cancel&gt; to exit the configuration menu</li>
</ol>
</li>
<li><strong>Get your EPST</strong>
<ol>
<li>download this file here .. this is the getspl file (in zip form)</li>
<li>run the GetSPC.exe on your phone and in the Input field, type in your ESN(Hex) in the input field (you wrote this down earlier)</li>
<li>press &lt;go&gt;</li>
<li>the number produced in the output field is your MSLNumber (EPST unlock code)</li>
<li>exit the application</li>
</ol>
</li>
</ol>
<p>You should now have noted these 4 items:</p>
<ol>
<li> MDN: your 10 digit tel number</li>
<li> MSID: another 10 digit tel number (for some carriers it&#8217;s the same as your MDN)</li>
<li> A-Key: only required by certain carriers</li>
<li> MSL: a 6 digit number that you got when you ran the GetSPC.exe</li>
</ol>
<p>Special Note: The great thing about using the following procedure is that typically you won&#8217;t even have to use the information you just obtained. But better safe than sorry.</p>
<h3>Stage 2: Upgrading the Boot Loader &amp; Radio</h3>
<ol>
<li>If you have flash this phone before, you will need to &#8220;relock&#8221; the phone so it can be flashed. If you have not flashed your phone or do not know what this is, skip and continue as you most likely have a virgin phone.<br />
You can get the relocker here: XXXXXXXXXXXXXXXXXXXXXXXXXx</li>
<li>Run the Unofficial carrier released rom 3.16 which contains the boot loader and radio. This is a Sprint ROM, don&#8217;t worry about it, you&#8217;ll still be able to use your provider, in my case, Telus.<br />
You can get the ROM here: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX</li>
</ol>
<h3>Stage 3: Install a Custom ROM</h3>
<p>I am running No2Chems ROMs which I find are very good and still feels like the stock ROM (how my phone was meant to be) but with some added features.</p>
<ol>
<li>run the unLocker for 3.16 and above, don&#8217;t worry about getting out of the boot loader &#8211; tri-color screen</li>
<li>Download: No2Chems ROM version 5050 (old version as of writing but I still use it) XXXXXXXXXXXXXXX (warning 50mb download)</li>
<li>Download the RUU, the software used to flash the phone. XXXXXXXXXXXXXXXX</li>
<li>Copy the .nbh file into the RUU folder</li>
<li>Make sure there is only one .nbh file in the folder</li>
<li>Double click RomUpdateUtility.exe to begin the update</li>
</ol>
<h3>Stage 4: Verify Provisioning Data</h3>
<ol>
<li>Dial ##MSL# &#8211; this is the 6 digit code you retrieved in step 2 above
<ol>
<li>first select view (because if your info is correct, we don&#8217;t want to accidentally mess it up</li>
<li>verify that the MDN and MSID fields match your info from above</li>
<li>if the info matches, select cancel and skip following step.</li>
<li>if the info does not match, then cancel and re dial ##MSL#, but select edit.</li>
<li>input the correct MDN and MSID and then select &lt;menu&gt; and &lt;ok&gt; and your phone will now reboot. Check again to verify its correctness when the phone boots up.</li>
</ol>
</li>
<li>If your phone had an A-Key then do this step, otherwise proceed to step 3
<ol>
<li>dial ##778#</li>
<li>select &lt;edit&gt;</li>
<li>input your MSL (6 digit code retrieved in step 2 above) **Please note, you can mess up your phone if you change the wrong fields &#8211; use with caution**</li>
<li>select &lt;view info&gt; and select A-Key</li>
<li>input the A-Key from info above (if required)</li>
<li>select menu and select &lt;OK&gt;, your phone will reboot</li>
</ol>
</li>
</ol>
<p><strong>Verify your services</strong></p>
<ol>
<li>make an outbound call</li>
<li>receive a call</li>
<li>connect to the Internet</li>
</ol>
<p>Congratulations, you have successfully updated your phone &#8211; Have fun!</p>
<h3>Stage 5: Trouble Shooting</h3>
<p>More to come here, just want to push this article out.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lwp.ca/james/2009/05/flashing-the-htc-titan-the-telus-p4000/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Websites Birthed from CSS Hell</title>
		<link>http://www.lwp.ca/james/2008/10/websites-birthed-from-css-hell/</link>
		<comments>http://www.lwp.ca/james/2008/10/websites-birthed-from-css-hell/#comments</comments>
		<pubDate>Mon, 20 Oct 2008 22:09:02 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[ProTip]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://www.lwp.ca/james/?p=241</guid>
		<description><![CDATA[Over the years I have come across a few websites that I want to visit on a regular basis. These websites are designed by &#8220;web designers&#8221; with no skill whatsoever. Infact, I sincerely believe that a retarded monkey with carpal tunnel and OCD could tap out a clear and functional design that would greatly out [...]]]></description>
			<content:encoded><![CDATA[<p>Over the years I have come across a few websites that I want to visit on a regular basis. These websites are designed by &#8220;web designers&#8221; with no skill whatsoever. Infact, I sincerely believe that a retarded monkey with carpal tunnel and OCD could tap out a clear and functional design that would greatly out perform the hideous creation of this so called human &#8220;web designer.&#8221;</p>
<p>In this post you will learn how to take matters into your own hands and fix these websites so they are at least bearable. We will learn how to change the font and font size for a particular website.</p>
<h2>Requirements:</h2>
<ul>
<li><a href="http://www.mozilla.com/en-US/firefox/">Firefox</a></li>
<li>Firefox extension: <a href="https://addons.mozilla.org/en-US/firefox/addon/2108">Stylish</a></li>
<li>Knowledge of CSS (cascading style sheets)</li>
</ul>
<h2>Getting started with Stylish</h2>
<p>After the extension has been installed and Firefox has been restarted. Go to the bottom right hand corner and click on the Stylish icon. In the menu, click on the Manage Styles&#8230;</p>
<p><a href="http://www.lwp.ca/james/wp-content/uploads/2008/10/stylish_menu.png"><img class="alignnone size-medium wp-image-244" title="stylish_menu" src="http://www.lwp.ca/james/wp-content/uploads/2008/10/stylish_menu.png" alt="" width="246" height="168" /></a></p>
<p>Because we do not have any scripts, there is nothing to display, so click on the Write&#8230; button and lets get started.</p>
<p>Write out the following code as show in the example below. Here, we are using example.com as well, our example. The trusty folks over there have provided us with a simple boring page. Substitute <em>example.com</em> with the URL that will apply to your case.</p>
<p><a href="http://www.lwp.ca/james/wp-content/uploads/2008/10/stylish_edit.png"><img class="alignnone size-full wp-image-242" title="stylish_edit" src="http://www.lwp.ca/james/wp-content/uploads/2008/10/stylish_edit.png" alt="" width="499" height="353" /></a></p>
<p>By pressing Save, you should have no error messages and be presented with a list of scripts installed. In our case, it looks like so.</p>
<p><a href="http://www.lwp.ca/james/wp-content/uploads/2008/10/stylish_manage.png"><img class="alignnone size-full wp-image-243" title="stylish_manage" src="http://www.lwp.ca/james/wp-content/uploads/2008/10/stylish_manage.png" alt="" width="499" height="353" /></a></p>
<p>Go back to the nightmarish website. You may have to refresh the page to see the results.</p>
<p>Example forum from hell, before:</p>
<p><a href="http://www.lwp.ca/james/wp-content/uploads/2008/10/stylish_dep_before.png"><img class="alignnone size-full wp-image-249" title="stylish_dep_before" src="http://www.lwp.ca/james/wp-content/uploads/2008/10/stylish_dep_before.png" alt="" width="392" height="99" /></a></p>
<p>Example forum from hell, after:</p>
<p><a href="http://www.lwp.ca/james/wp-content/uploads/2008/10/stylish_dep_after.png"><img class="alignnone size-full wp-image-248" title="stylish_dep_after" src="http://www.lwp.ca/james/wp-content/uploads/2008/10/stylish_dep_after.png" alt="" width="392" height="99" /></a></p>
<p>Don&#8217;t think you can have to stop here! CSS is very powerful and together with Stylish, you can virtually redesign any website the way YOU want it to look.</p>
<p>Check out the user submitted styles found here: <a href="http://userstyles.org/">http://userstyles.org/</a></p>
<h2>ProTip!</h2>
<ul>
<li>Look into the <a href="https://addons.mozilla.org/en-US/firefox/addon/1865">Adblock Plus</a> extension. Not only is this great for removing advertisements from websites, but allows you to block or hide obnoxious images and other content from displaying. Perfect for websites with a huge picture at the top forcing you to scroll every page view.</li>
</ul>
<ul>
<li>Read up on CSS, specifically the <em>display: none;</em> syntax for hiding elements within a page.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.lwp.ca/james/2008/10/websites-birthed-from-css-hell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

