<?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>Jamie Barrows</title>
	<atom:link href="http://www.jamiebarrows.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jamiebarrows.com</link>
	<description></description>
	<lastBuildDate>Thu, 23 Apr 2009 13:51:09 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>A very simple HTML change tracker</title>
		<link>http://www.jamiebarrows.com/2009/04/23/a-very-simple-html-change-tracker/</link>
		<comments>http://www.jamiebarrows.com/2009/04/23/a-very-simple-html-change-tracker/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 13:50:46 +0000</pubDate>
		<dc:creator>Jamie Barrows</dc:creator>
				<category><![CDATA[Project]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://www.jamiebarrows.com/?p=141</guid>
		<description><![CDATA[I&#8217;m working on a project that takes an HTML document and allows users to edit and mark it up with [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m working on a project that takes an HTML document and allows users to edit and mark it up with their comments and notes. </p>
<p>Previously this was all done on paper. The form was submitted by a customer. It was then printed and placed in a customer folder which would be passed around to the different departments. Each department would work some aspect of the form, and would add their notes to it. At the end of the process, the form would be scanned back into our system and attached to the customer record. Did you get that last part? The form is printed out from our customer system, marked up, and scanned back into the same customer system! Kind of redundant. </p>
<p>So my project is meant to be an improvement on the process that should eliminate the need to print it out. Since our users are very resistant to change, my Boss has tasked me to create a solution that mimics the existing business process as much as possible. So to that end, I was trying to find a way that they could mark up the existing HTML form electronically but have it track changes as they are made.<br />
I found a very good WYSIWYG editor that I could embed in a .Net form called <a href="http://itwriting.com/htmleditor/">HTML Editor</a>. It&#8217;s Open source and written in C#. So that took care of my editing requirement, but the markup requirement was a little harder. I started working on a way to detect differences and insert style elements around them, but that was getting really tedious and was not going well. So I did a little more hunting online, and found a great little library that merges two HTML files and marks up the differences showing new text as well as deleted text. Check it out: <a href="http://code.google.com/p/rainbow/source/browse/#svn/NET_2_0/migration/trunk/Extensions/Rainbow.MergeEngine">Rainbow.MergeEngine</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jamiebarrows.com/2009/04/23/a-very-simple-html-change-tracker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Silent Installs of Applications</title>
		<link>http://www.jamiebarrows.com/2009/02/25/silent-installs-of-applications/</link>
		<comments>http://www.jamiebarrows.com/2009/02/25/silent-installs-of-applications/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 15:41:14 +0000</pubDate>
		<dc:creator>Jamie Barrows</dc:creator>
				<category><![CDATA[Project]]></category>
		<category><![CDATA[Installs]]></category>
		<category><![CDATA[Installshield]]></category>
		<category><![CDATA[NSIS]]></category>
		<category><![CDATA[Nullsoft]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Silent Install]]></category>

		<guid isPermaLink="false">http://www.jamiebarrows.com/?p=136</guid>
		<description><![CDATA[Not really sure if this is the right place to post this, but I want the info to be available [...]]]></description>
			<content:encoded><![CDATA[<p>Not really sure if this is the right place to post this, but I want the info to be available to anyone who needs it. And the original site where it was posted seems to be defunct. That said, this article is not my own work, but rather a copy of what was previously posted at <a href="http://unattended.sourceforge.net/installers.php">http://unattended.sourceforge.net/installers.php</a> which seems to be no longer available. </p>
<p>Since the information on the page was of great use to me in writing installers and is no longer available I thought I would repost it here. I can&#8217;t count the number of times I have referred to this document when I was building my own installs or attempting to script the install of various applications and third party components.</p>
<p>Taken from <a href="http://unattended.sourceforge.net/installers.php">http://unattended.sourceforge.net/installers.php</a></p>
<blockquote><p><strong>Introduction</strong><br />
The goal of this document is to collect instructions for performing unattended / silent installations of many popular application installers. Such instructions are useful for automating these installations.<br />
A quick word on terminology: Strictly speaking, an unattended installation is one which does not require user interaction, and a silent (or quiet) installation is one which does not display any indication of its progress. However, most people use these terms interchangeably.<br />
Here, we are interested not only in performing unattended installations, but also in waiting for those installations to finish and suppressing any reboot they might want to perform. This is necessary for reliably installing multiple applications.</p>
<p><strong>General information</strong><br />
There are several systems which vendors use to create installers for their applications. To make an educated guess about how to run an installer unattended, you need to know which system was used to create it. Sometimes this will be obvious from the installer&#8217;s splash screen; sometimes you can figure it out by running strings; and sometimes you will have to guess.<br />
Of course, you can try running the installer with the /? switch to find out which other switches it supports. But if you really expect this to work, then you have not been using Windows for very long. In my experience, the odds are about 1 in 4 that /? will tell you anything at all, even when there is something to tell.</p>
<p><strong>MSI packages</strong><br />
Microsoft&#8217;s own Windows Installer Service is the nominal standard, and if everybody used it, there would be no need for this document. Unfortunately, Microsoft invented it too late.<br />
The package files have a .msi extension, and you manipulate them using the msiexec utility.<br />
For installation, use the /i and /qb switches. Use the /l* switch to produce a log file. You can provide named options (or &#8220;properties&#8221;) at the end of the command line; which properties are supported depends on the package. For example, this command:<br />
    msiexec /qb /l* perl-log.txt /i ActivePerl.msi PERL_PATH=Yes PERL_EXT=Yes<br />
&#8230;is how you install ActiveState Perl, instructing the MSI package to add Perl.exe to your PATH and to associate .pl files with it.<br />
Perhaps the most important common property is the REBOOT property, which you can use to suppress any automatic reboot the MSI package might try to perform. So in general, you want to provide the/i, /qb, and REBOOT=ReallySuppress parameters to msiexec.<br />
msiexec can do many other things, like uninstall software or apply patches. Neat, huh? Too bad nobody uses it.</p>
<p><strong>InstallShield</strong><br />
InstallShield is one of the oldest and most widely used application packaging systems.<br />
Installers created by InstallShield recognize the /r, /s, /sms, /f1, and /f2 switches. The installer itself is invariably named setup.exe.<br />
To perform a silent installation, you need an InstallShield &#8220;answer file&#8221;, customarily named setup.iss. Some applications ship with such a file, but if yours does not, you can use the graphical installer itself to create one.<br />
Here is how it works. Run the installer with the /r (&#8220;record&#8221;) switch. Proceed through the dialogs and complete the installation. This will create a setup.iss file and place it in the C:\WINDOWS directory (yes, really). This file will include all of your responses to the InstallShield dialogs, allowing you to perform unattended installations as if you were giving the same answers again. Simply copy setup.iss to the same directory as the installer executable.<br />
Once you have a setup.iss file, run the installer with the /s (&#8220;silent&#8221;) option. This will perform an unattended installation.<br />
Unfortunately, the installer will fork a separate process and exit, meaning it will return immediately even if you run it under start /wait. This makes it useless for scripting purposes. Luckily, there is another switch, /sms, which will cause the installer to pause until the installation completes.<br />
Hence, for an InstallShield application, you want to provide both the /s and the /sms switches.<br />
The /f1filename switch allows you to specify a fully-qualified alternate name for the setup.iss file. Note that there must be no space between the /f1 switch and the file name. This switch works both with /r to create the file and with /s to read it.<br />
The /f2filename switch specifies a log file. Once again, there must be no space between the switch and the file name.<br />
<strong>WARNING:</strong> Be careful what characters you use in these file names, because InstallShield silently strips certain non-alphanumerics (like hyphens).<br />
Oh, one more thing. The /r and /s switches only work if the release engineer is competent. Many packages have &#8220;custom dialogs&#8221; which are not supported by setup.iss, which means the dialogs will always appear no matter what you do. For such packages, I suggest asking the vendor to fix their installer. If that does not work, I suggest doing what you can to deprive them of business.</p>
<p><strong>PackagefortheWeb</strong><br />
InstallShield has a relatively new add-on product called PackagefortheWeb, or PFTW for short. This is basically an InstallShield tree bundled up as a single-file executable.<br />
When you run this executable, it extracts a bunch of files to a temporary directory and launches the setup.exe within.<br />
The PFTW package recognizes the /s and /a &#8230; switches. The /s switch instructs the PFTW package to run silently, although this does not necessarily mean that the underlying setup.exewill run silently.<br />
The /a &#8230; (&#8220;add&#8221;) switch allows you to add switches to the command line of the underlying setup.exe process. You may provide any of the normal InstallShield switches here, including /r, /s, and/sms.<br />
Thus, to automate the installation of a PFTW package named foo.exe, you would first perform one installation by hand to create the answer file:<br />
    foo.exe /a /r /f1c:\temp\foo.iss<br />
Then, to install the package completely silently, you would run:<br />
    start /wait foo.exe /s /a /s /sms /f1c:\temp\foo.iss<br />
The first /s is only needed for a completely silent installation. If you leave it off, the PFTW package will show you a status bar as it extracts the InstallShield tree to the temporary directory.</p>
<p><strong>InstallShield with MSI</strong><br />
Recent versions (7 and above) of InstallShield&#8217;s tools are able to produce MSI files. Read InstallShield&#8217;s documentation for full details.<br />
These MSI files may be shipped alone or with a setup.exe installer. These installers in turn come in two flavors, called &#8220;InstallScript MSI&#8221; and &#8220;Basic MSI&#8221;. InstallScript MSI uses the traditional InstallShield switches. Basic MSI is another story.<br />
To perform an unattended installation using a Basic MSI installer, you provide the /s /v&#8221;&#8230;&#8221; switches, where &#8230; represents any additional switches you want to pass down to msiexec. These should include the /qb (or /qn) switch to make the installation non-interactive, so a minimal invocation would be:<br />
    setup.exe /s /v&#8221;/qb&#8221;<br />
Just to make things interesting, any of these mechanisms might be combined with PFTW. For example, we eventually figured out that the IBM Update Connector requires these flags for unattended installation:<br />
    updcon532.exe /s /a /s /v&#8221;/qb&#8221;<br />
The first /s tells the PFTW installer to extract silently. The /a tells it to provide the remaining switches to the underlying setup.exe. The second /s tells setup.exe to run silently, while the /v&#8221;/qb&#8221; tells it to pass /qb to msiexec, which causes msiexec to run non-interactively but display a basic interface.<br />
Finally, InstallShield has a KnowledgeBase article which is less helpful than you might expect. Are we having fun yet?</p>
<p><strong>Wise InstallMaster</strong><br />
InstallMaster from Wise Solutions is a competitor to InstallShield. You can usually identify the installers it produces by running &#8220;strings&#8221; on the executable and grepping for &#8220;Wise&#8221;.<br />
InstallMaster installers are supposed to recognize the /s switch to perform a silent installation. And in our experience, they generally do. But there is no way to set options, and the exit status is meaningless.<br />
Note: This product has been rebranded the &#8220;Wise Installation System&#8221;. Don&#8217;t let them confuse you.</p>
<p><strong>Inno Setup</strong><br />
Inno Setup is an open source competitor in this space. You can usually identify the installers it creates by running &#8220;strings&#8221; on the executable and grepping for &#8220;Inno&#8221;.<br />
The switches for Inno Setup are fully documented in the ISetup.hlp file in the Inno distribution. Here, is an html version. Thanks to Lawrence Mayer for it.<br />
In our experience, the /silent switch is usually sufficient for a basic unattended installation. But to be completely sure, we recommend /sp- /silent /norestart.<br />
Note that the /verysilent switch may reboot the machine without prompting, which is pretty much the worst of all possible worlds. So if you use /verysilent, be sure to use /norestart as well.</p>
<p><strong>Nullsoft Scriptable Install System</strong><br />
The Nullsoft Scriptable Install System (NSIS) is another open source installation system. It was created by the WinAmp authors to distribute that application, but it is now a general-purpose system which anyone might use.<br />
When an NSIS installer runs, it creates a little window which says verifying installer: N%, where N counts from 0 to 100. So you can recognize these installers by this behavior. (Actually the verification procedure is optional, but most installers have it enabled. As an alternative, you can run &#8220;strings&#8221; and grep for &#8220;NSIS&#8221;).<br />
NSIS installers recognize /S for silent installation, /NCRC to suppress the CRC (verification) step, and /D=dir to specify the &#8220;output directory&#8221;, which is where the program will be installed. These options are case-sensitive, so be sure to type them in upper case.<br />
Incidentally, all /S does is change the installer script&#8217;s SilentInstall attribute from &#8220;normal&#8221; to &#8220;silent&#8221;. What effect this has, exactly, depends on the person who wrote the script. If /S does not perform a silent install, consider submitting a bug report to the installer&#8217;s creator.</p>
<p><strong>Ghost installer</strong><br />
Ethalone&#8217;s Ghost installer is just another commercial product, available in free and commercial editions. The free edition is nothing but the compiler, which takes XML files; the commercial edition is the compiler plus a graphical editor and wizard to create these XML files.<br />
When a Ghost installer runs, it creates a little graphical window which says &#8220;Ghost installer wizard. Setup is preparing the Ghost Installer wizard&#8230;&#8221; together with a progress bar.<br />
Ghost installers recognize -s (case-sensitive) for silent installation, but that works only if the person who created the installer defined a standard installation type (if there are more than one).<br />
If you have trouble to get it silent you might try to guess internal variables and pass new values at the command line using -var:MyVar=value. Unfortunately, using &#8220;strings&#8221; will not help you guessing. See here.<br />
Other command line parameters are -r (repair), -c (add/remove), and -u (uninstall).</p>
<p><strong>Microsoft hotfixes and older packages</strong><br />
Most Microsoft hotfixes respond to the /? switch, but they do not always tell you everything.<br />
According to KB article 816915 and KB article 824687, Microsoft is moving towards standardized packaging and naming for hotfixes. But they are not done yet.<br />
Modern hotfixes support /passive (formerly /u) for unattended installation, /norestart (formerly /z) to suppress the automatic reboot, and /n to skip backing up files needed for uninstalling the hotfix.<br />
Some hotfixes use an old Microsoft packaging technology called &#8220;IExpress&#8221;, whose switches are more-or-less documented in KB article 197147 and an old USENET post. These installers first extract some stuff to a temporary folder and then run a command from inside that folder. They support the /t:path switch to specify the temporary folder name and the /c:command switch to specify the command to run. Specifying just /c suppresses running the command at all, so you can use /c /t:path to extract the hotfix just to look at it.<br />
These packages support the /q switch for quiet operation, except sometimes you have to use /q:a instead. They also support the /r:n switch to suppress the reboot. Sometimes these do not work and you have to fiddle with the /c:command switch; see the second &#8220;NOTE&#8221; in KB article 317244 for an example.<br />
Leave it to Microsoft to make systems administration an experimental science.</p>
<p><strong>If all else fails&#8230;</strong><br />
If the application simply has no unattended installation procedure, you can create your own. I prefer to avoid these approaches if at all possible, since they are relatively unreliable and difficult to maintain.</p>
<p><strong>Repackaging</strong><br />
There are several tools around which can take a snapshot of a machine&#8217;s state before and after a manual installation, compute the differences between the states, and bundle them up as an &#8220;installer&#8221;. TheWise product line provides good support for this, and Microsoft&#8217;s free tool provides bad support for it.<br />
The problem with this approach is that it fundamentally cannot work reliably. An installer&#8217;s behavior may depend on the exact initial state of the machine, such as the OS version or the presence/absence of other installed software. So the repackaged installer will almost never do exactly the same thing that a fresh installation would, unless the target machine is completely identical to the original machine.<br />
In addition, for every new release of an application, you will need to repackage it again. And there are other disadvantages which even Microsoft recognizes.<br />
For these reasons, we think repackaging is a very bad idea and we strongly advise against it.</p>
<p><strong>AutoIt</strong><br />
AutoIt is a free tool which can simulate key presses and mouse clicks, following a script customarily named with a .aut or a .au3 extension. Most installers have a sufficiently simple and consistent interface that a very short AutoIt script suffices to automate their installation.<br />
The AutoIt distribution includes very good documentation. The Unattended distribution includes both versions 2 (AutoIt.exe) and 3 (AutoIt3.exe). These versions differ in their script formats. Currently, all scripts that are shipped with Unattended are written for version 2, but we plan to switch to version 3 in the future and advise to create new scripts only in version 3.<br />
AutoIt scripts do have drawbacks.<br />
First, you must be careful when upgrading to new releases of an application, since the installer&#8217;s UI may have changed.<br />
More worryingly, AutoIt scripts are theoretically unreliable because they do not let you determine when a sub-process has exited. You can tell when AutoIt itself exits, but that is not the same thing at all. For example, an installer&#8217;s last window might disappear while the installer was still working. Your master script, waiting only for the AutoIt executable, would then proceed, starting another installation or rebooting the machine.<br />
AutoIt provides Run and RunWait primitives, but it does not provide a way to wait for the termination of an application which was invoked by Run. If it did, this race condition could be avoided.<br />
In practice, it does not matter much, because most installers do finish their work before destroying their last window. Just make sure your .aut script uses WinWaitClose to wait for that last window to vanish.<br />
You should make sure that your script contains a [ADLIB] section to catch surprising reboot requests.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.jamiebarrows.com/2009/02/25/silent-installs-of-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bookmarks and tagging</title>
		<link>http://www.jamiebarrows.com/2009/02/13/bookmarks-and-tagging/</link>
		<comments>http://www.jamiebarrows.com/2009/02/13/bookmarks-and-tagging/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 16:38:36 +0000</pubDate>
		<dc:creator>Jamie Barrows</dc:creator>
				<category><![CDATA[Me]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://www.jamiebarrows.com/?p=124</guid>
		<description><![CDATA[Last month when I heard the news that my favorite bookmarking tool, Google Notebooks, was being discontinued I panicked. I [...]]]></description>
			<content:encoded><![CDATA[<p>Last month when I heard the news that my favorite bookmarking tool, Google Notebooks, was being discontinued I panicked. I used Google Notebook all the time for everything from notes to bookmarks. And having my notes and bookmarks available to me at all times and on any computer I am using is a must. I looked around at some of the alternatives and did a little research into what I could use to replace it, but in the end I decided I needed to take control of my own bookmarks. </p>
<p>Losing all my bookmarks and notes was not something I wanted to happen to me. And relying on a third party service was just asking for trouble. So I decided to create my own.<br />
Initial Requirements:</p>
<ul>
<li>Online and accessible from any browser</li>
<li>Private mode so that I can take notes that are only for me</li>
<li>Public mode so that I can publish notes and bookmarks</li>
<li>Tag/label based organization rather than folder based. That way items can be in multiple lists without having to have multiple copies</li>
<li>Easy way to bookmark or clip from any page without having to leave the page</li>
</ul>
<p>Now anyone who knows me, knows that I am all about adapting existing systems to my needs when I build software. So my initial thought was build my own bookmark service using WordPress as a base. After all, this site and many others I run/administer use WordPress. So I&#8217;m pretty familiar with it.</p>
<p>To that end, I started researching what plugins and features were already out there for WordPress that I could use. And the result was the new <a href="http://www.jamiebarrows.info">jamiebarrows.info</a> site. It&#8217;s not completely perfect, and I&#8217;m still modifying it and tweaking it, but for the moment it does everything I wanted it to do.</p>
<p>Here are a couple of screenshots.<br />

<a href='http://www.jamiebarrows.com/2009/02/13/bookmarks-and-tagging/bookmarks2/' title='bookmarks2'><img width="150" height="150" src="http://www.jamiebarrows.com/wp-content/uploads/2009/02/bookmarks2-150x150.png" class="attachment-thumbnail" alt="" title="bookmarks2" /></a>
<a href='http://www.jamiebarrows.com/2009/02/13/bookmarks-and-tagging/bookmarks1/' title='bookmarks1'><img width="150" height="150" src="http://www.jamiebarrows.com/wp-content/uploads/2009/02/bookmarks1-150x150.png" class="attachment-thumbnail" alt="" title="bookmarks1" /></a>
</p>
<p>Here are the tools/plugins/themes I am using to accomplish this.</p>
<ul>
<li><a href="http://www.Wordpress.org">WordPress.Org</a> The underlying engine of the entire site.</li>
<li><a href="http://github.com/alx/pressmark/tree/master">PressMark Theme</a> A Wordpress theme/conversion that is set up specifically for bookmarking. Has a great little scriptlet that you can add to your toolbar to clip and bookmark while reading or browsing. Also gives you the option of making a bookmark public or private.</li>
<li><a href="http://neop.gbtopia.com/?p=108">Postalicious plugin</a> A WordPress plugin that automatically pulls any Delicious bookmarks along with their tags into WordPress and posts them as a WordPress post. I found that this way I can still use a third party tool to do my bookmarking without surrendering control of those bookmarks.</li>
<li><a href="http://www.hybrid6.com/webgeek/wp-spamfree">wp-Spamfree plugin</a> Not strictly a bookmarking plugin, but this does eliminate spam comments almost entirely. Which is important if I want my bookmarks to be open to comments.</li>
</ul>
<p>And that&#8217;s it. The whole thing was a lot easier than I expected it to be. Most of the tools I needed were already written and required little or no modification to get them working the way I wanted them. </p>
<p>All of my bookmarks and notes are now located on a domain and in a database and form that I control. And so far it&#8217;s working out pretty well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jamiebarrows.com/2009/02/13/bookmarks-and-tagging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LifeStream</title>
		<link>http://www.jamiebarrows.com/2009/01/08/lifestream/</link>
		<comments>http://www.jamiebarrows.com/2009/01/08/lifestream/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 15:02:59 +0000</pubDate>
		<dc:creator>Jamie Barrows</dc:creator>
				<category><![CDATA[Me]]></category>
		<category><![CDATA[Feed]]></category>
		<category><![CDATA[LifeStream]]></category>
		<category><![CDATA[Status]]></category>
		<category><![CDATA[timeline]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.jamiebarrows.com/?p=114</guid>
		<description><![CDATA[Ok, I just added a new plugin to my page called LifeStream.
It&#8217;s basically a way to build yourself a kind [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, I just added a new plugin to my page called <a href="http://www.ibegin.com/labs/wp-lifestream/">LifeStream</a>.<br />
It&#8217;s basically a way to build yourself a kind of current events wall of all your activities on the web. Since most social networking sites these days provide an RSS feed, this plugin compiles all the RSS feeds you give it and provides a chronological timeline of what is happening.<br />
If you use facebook at all, you will probably be right at home with it because its basically a personal updates wall.</p>
<p>So check it out if you get the chance. <a href="http://www.jamiebarrows.com/lifestream/">My LifeStream</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jamiebarrows.com/2009/01/08/lifestream/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Syncing Gmail and Thunderbird</title>
		<link>http://www.jamiebarrows.com/2008/12/04/syncing-gmail-and-thunderbird/</link>
		<comments>http://www.jamiebarrows.com/2008/12/04/syncing-gmail-and-thunderbird/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 16:33:39 +0000</pubDate>
		<dc:creator>Jamie Barrows</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jamiebarrows.com/2008/12/04/syncing-gmail-and-thunderbird/</guid>
		<description><![CDATA[I love using Gmail. The clean and simple interface is intuitive and doesn&#8217;t get in the way of the main [...]]]></description>
			<content:encoded><![CDATA[<p>I love using Gmail. The clean and simple interface is intuitive and doesn&#8217;t get in the way of the main purpose of the app, reading your email. </p>
<p>And the whole searching and tagging of emails works great for people like me that aren&#8217;t all that organized. Just leave everything in your inbox, and let the tagging/search options find it for you.&#160; </p>
<p>And beyond that, having all your mail available to you no matter what computer you are using and no matter where in the world you are, is really useful.</p>
<p>But sometimes it can be useful to have your data, in this case email, offline. That way when you don&#8217;t have an active connection to the Internet, you can still read and access your old emails. That&#8217;s where <a href="http://www.mozilla.com/thunderbird/">Thunderbird</a> comes in.</p>
<p>Thunderbird is an email client, similar to outlook, that is maintained and distributed by the Mozilla foundation. The same guys that bring you <a href="http://www.mozilla.com/firefox/">Firefox</a>. It&#8217;s free, easy to use, if you are at all familiar with Outlook, and pretty lightweight on system resources. Best of all, it can hook up to your Gmail account and download all your email into a local storage area. And with imap services enabled on your gmail account, you can keep both the online and the local copies of your email in perfect sync.</p>
<p>You can even sync your contacts using an Thunderbird add-on called <a href="http://www.zindus.com/">Zindus</a>. Pretty cool and very useful. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jamiebarrows.com/2008/12/04/syncing-gmail-and-thunderbird/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Site</title>
		<link>http://www.jamiebarrows.com/2008/10/18/new-site/</link>
		<comments>http://www.jamiebarrows.com/2008/10/18/new-site/#comments</comments>
		<pubDate>Sat, 18 Oct 2008 22:58:19 +0000</pubDate>
		<dc:creator>Jamie Barrows</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jamiebarrows.com/?p=74</guid>
		<description><![CDATA[
I just created a new site for me and the fiance. On July 4th, 2009 we will be married and [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.jamiebarrows.com/wp-content/uploads/2008/11/img_0392-225x300.jpg" alt="" title="Jamie and Kierra" width="225" height="300" class="alignnone size-medium wp-image-77" style="float: right;margin: 0pt 10px 0px 0pt;"/><br />
I just created a new site for me and the fiance. On July 4th, 2009 we will be married and she will come to Florida to live with me forever! </p>
<p>I love her so much,that I had to create a website just for the two of us.</p>
<p>Check it out <a href="http://www.jamieandkierra.com/">www.jamieandkierra.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jamiebarrows.com/2008/10/18/new-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New family site</title>
		<link>http://www.jamiebarrows.com/2008/08/23/new-family-site/</link>
		<comments>http://www.jamiebarrows.com/2008/08/23/new-family-site/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 00:32:50 +0000</pubDate>
		<dc:creator>Jamie Barrows</dc:creator>
				<category><![CDATA[Me]]></category>
		<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://www.jamiebarrows.com/?p=34</guid>
		<description><![CDATA[I just set up a new site for my family. I&#8217;m using wordpress mu as the back end for it. [...]]]></description>
			<content:encoded><![CDATA[<p>I just set up a new site for my family. I&#8217;m using wordpress mu as the back end for it. The cool thing about using wordpress mu, rather than standard wordpress, is that you can set up each user with their own site using subdomains.<br />
So check it out. <a href="http://barrowsnotes.com" title="Barrows Notes">BarrowsNotes.com</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jamiebarrows.com/2008/08/23/new-family-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Update</title>
		<link>http://www.jamiebarrows.com/2008/06/28/update/</link>
		<comments>http://www.jamiebarrows.com/2008/06/28/update/#comments</comments>
		<pubDate>Sat, 28 Jun 2008 07:56:51 +0000</pubDate>
		<dc:creator>Jamie Barrows</dc:creator>
				<category><![CDATA[Me]]></category>

		<guid isPermaLink="false">http://www.jamiebarrows.com/?p=33</guid>
		<description><![CDATA[I&#8217;ve had pretty limited Internet access recently. So there hasn&#8217;t been a lot of activity on this site. But my [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had pretty limited Internet access recently. So there hasn&#8217;t been a lot of activity on this site. But my internet situation should change soon. Meanwhile, my family members have been active in posting to the family website. So feel free to check out the pics there. <a href="http://www.barrows-family.com">www.Barrows-Family.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jamiebarrows.com/2008/06/28/update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Playing with twitter</title>
		<link>http://www.jamiebarrows.com/2008/01/28/playing-with-twitter/</link>
		<comments>http://www.jamiebarrows.com/2008/01/28/playing-with-twitter/#comments</comments>
		<pubDate>Mon, 28 Jan 2008 20:38:15 +0000</pubDate>
		<dc:creator>Jamie Barrows</dc:creator>
				<category><![CDATA[Me]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Status]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.jamiebarrows.com/?p=28</guid>
		<description><![CDATA[With twitter getting so much attention on the web these days, I thought I should check it out. So I [...]]]></description>
			<content:encoded><![CDATA[<p><img style="float: left;margin: 0pt 10px 0px 0pt;" src='http://www.jamiebarrows.com/wp-content/uploads/2008/01/twitter.png' alt='Twitter' />With twitter getting so much attention on the web these days, I thought I should check it out. So I went ahead and created a twitter account.<br />
It&#8217;s kind of cool. A lot like the status message on MySpace or Facebook. Not really all that different actually. One cool thing is that you can update it from an IM client or a mobile phone. At this point I&#8217;m really wishing there was some way to send a status comment to all the services at once. So that I could send a message to a single location and have it update the status comments on all the services I&#8217;m signed up for. But I guess that would be too much to ask. So anyway, here&#8217;s a <a href="http://twitter.com/JamieBarrows" title="Jamie's twitter page" rel="me">link to my twitter page.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jamiebarrows.com/2008/01/28/playing-with-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mission Project update</title>
		<link>http://www.jamiebarrows.com/2008/01/02/mission-project-update/</link>
		<comments>http://www.jamiebarrows.com/2008/01/02/mission-project-update/#comments</comments>
		<pubDate>Wed, 02 Jan 2008 19:56:43 +0000</pubDate>
		<dc:creator>Jamie Barrows</dc:creator>
				<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://www.jamiebarrows.com/?p=24</guid>
		<description><![CDATA[Thought I would give everyone an update on what has been going on with my project. I spent most of [...]]]></description>
			<content:encoded><![CDATA[<p>Thought I would give everyone an update on what has been going on with my project. I spent most of my holiday vacation days working on the installer and a website for the project. So the whole missions project is now hosted out at <a href="http://www.missiondisk.com" title="The Mission Disk">www.MissionDisk.com</a></p>
<p>There is still lots of work to be done, but I thought I was to the point where creating a website for it was worthwhile. So head out to the website and check out the project. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jamiebarrows.com/2008/01/02/mission-project-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 1.426 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-03-09 14:37:39 -->
<!-- Compression = gzip -->