<?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>geedew :: Web Design, Programming, Professionalism &#187; How-To</title>
	<atom:link href="http://www.geedew.com/category/how-to/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.geedew.com</link>
	<description>Web Design, Web Programming, Programming on Linux, CSS, JavaScript, PHP, HTML5</description>
	<lastBuildDate>Thu, 22 Jul 2010 16:26:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Dropbox on Lucid: Missing GUI? Fix it now!</title>
		<link>http://www.geedew.com/2010/07/15/dropbox-on-lucid-missing-gui-fix-it-now/</link>
		<comments>http://www.geedew.com/2010/07/15/dropbox-on-lucid-missing-gui-fix-it-now/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 16:20:39 +0000</pubDate>
		<dc:creator>Drew</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Dropbox]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[Lucid Lynx]]></category>
		<category><![CDATA[Nautilus]]></category>

		<guid isPermaLink="false">http://www.geedew.com/?p=232</guid>
		<description><![CDATA[Dropbox is great and their support is phenomenal.  Recently I have been having issues after upgrading to Lucid Lynx.  It&#8217;s been a large bother on me because I use Dropbox a ton in my personal use.  On my development server, I&#8217;m running Ubuntu 10.04 64 Desktop version, and I rely on Dropbox to keep my files [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=b02858dd9961de60a8a7d0f9efe9c758&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=20 height=20/><p>Dropbox is great and their support is phenomenal.  Recently I have been having issues after upgrading to Lucid Lynx.  It&#8217;s been a large bother on me because I use Dropbox a ton in my personal use.  On my development server, I&#8217;m running Ubuntu 10.04 64 Desktop version, and I rely on Dropbox to keep my files in sync, including my programs that I write.  However, after upgrading, I noticed that Dropbox was &#8216;missing&#8217;.  It no longer appeared in the notification applet in the menu system.  It was still in the Menu, but when I clicked it &#8216;nothing&#8217; occurred!  Well I solved the issue, with a little help from the Dropbox forums. <span id="more-232"></span></p>
<p>First, I noticed that when I accessed by System Monitor application (Menu-&gt;System-&gt;Administration-&gt;System Monitor), Dropbox was running, and in fact it was running very hard (heating up my machine in the process).  Yet, nothing was visibly happening; no gui, no sync.  Killing the process was the next step, and then running Dropbox again from the menu resulted in the same scenario; nothing visually occurring.</p>
<p>I tried uninstalling, reinstalling via the &#8216;apt&#8217; commands.  Did not help.</p>
<p>I tried uninstalling forcing a complete removal and reinstalling after adding back in the sources.list commands via &#8216;apt&#8217;.  Did not help.</p>
<p>For awhile I considered that the issue was Lucid Lynx, so I sat on it for a week.  After about 4 or 5 updates to the OS, I tried all of the previous steps, still nothing helped.</p>
<p><strong>Finally a Solution!</strong></p>
<p>I searched Google, and came across a very similar situation, occurring months ago on Suse Linux (<a href="http://forums.dropbox.com/topic.php?id=19094&amp;replies=24#post-120769">http://forums.dropbox.com/topic.php?id=19094&amp;replies=24#post-120769</a>).</p>
<p>In this was the key, to do this just follow these steps.</p>
<pre class="brush: plain;">
Open your terminal.
#cd ~
#rm -rf .dropbox* Dropbox
#wget  http://dl-web.dropbox.com/u/17/dropbox-lnx.x86-0.7.110.tar.gz
#tar xzf dropbox-lnx.x86-0.7.110.tar.gz
#.dropbox-dist/dropbox
</pre>
<p>Step by Step:</p>
<p>1. cd ~ : Navigate to your home directory</p>
<p>2. rm -rf .dropbox* Dropbox : Delete all folders starting with .dropbox and also remove the Dropbox folder (Warning, your Dropbox folder may have changes that will be deleted! Rename or make a backup first in this case.)</p>
<p>3. wget http&#8230;. : Download the newest stable version of Dropbox (this is a newer version than what is in the repository!)</p>
<p>4. tar xzf &#8230; : Unzip/Unpack the downloaded file</p>
<p>5. Run Dropbox!</p>
<p>At this point you should find that the Dropbox opens up the installation information.</p>
<p>Follow the Dropbox instructions, and when finished, you will have the Dropbox notification icon in the notification applet in the menu.  Right click on that applet, click on stop Dropbox.  Close your terminal, and then navigate to the Dropbox menu item to start it up again.  That&#8217;s all, it should work great now like it does for me!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geedew.com/2010/07/15/dropbox-on-lucid-missing-gui-fix-it-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Advanced button theming on jQuery UI Dialog</title>
		<link>http://www.geedew.com/2010/06/10/advanced-button-theming-on-jquery-ui-dialog/</link>
		<comments>http://www.geedew.com/2010/06/10/advanced-button-theming-on-jquery-ui-dialog/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 15:23:23 +0000</pubDate>
		<dc:creator>Drew</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.geedew.com/?p=200</guid>
		<description><![CDATA[There is a very annoying bugfeature that I have found when using jQueryUI. It&#8217;s not the themes, they work great, in fact, they are the best thing since sliced bread. But in a &#8216;Cupertino.esc&#8217; way, they provide too much simplicity over the functionality that I require. This post aims to solve that in a progressive [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=b02858dd9961de60a8a7d0f9efe9c758&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=20 height=20/><p>	There is a very annoying <del datetime="2010-06-10T14:54:13+00:00">bug</del>feature that I have found when using jQueryUI.  It&#8217;s not the themes, they work great, in fact, they are the best thing since sliced bread.  But in a &#8216;Cupertino.esc&#8217;  way, they provide too much simplicity over the functionality that I require.  This post aims to solve that in a <em>progressive enhancement</em> sorta way.  I am using jQuery 1.4.2. with jQuery UI 1.8.2, it doesn&#8217;t matter what theme  you use with this, but I prefer <em>redmond</em>.</p>
<p><span id="more-200"></span>
<p>
	Let&#8217;s take a look at the core issue.  Here is what a typical dialog looks like in jQueryUI 1.8.2 with some nice buttons.</p>
<div id="attachment_203" class="wp-caption aligncenter" style="width: 310px"><a rel="attachment wp-att-203" href="http://www.geedew.com/2010/06/10/advanced-button-theming-on-jquery-ui-dialog/screen-capture-1/"><img class="size-medium wp-image-203" title="Typical 'Redmond' jQueryUI Dialog" src="http://cdn.geedew.com/wp-content/uploads/2010/06/screen-capture-1-300x191.png" alt="Typical 'Redmond' jQueryUI Dialog" width="300" height="191" /></a><p class="wp-caption-text">Perfect example of a jQueryUI Dialog</p></div>
<p>
	Here&#8217;s the simple code for this.</p>
<pre class="brush: xml;">
&lt;article id=&quot;dialogs&quot;&gt;
	&lt;a href=&quot;javascript: void(null);&quot; id=&quot;dialogbutton&quot;&gt;Open Dialog&lt;/a&gt;
	&lt;div title=&quot;this is my test this is my test this is my test this is my test&quot; id=&quot;dialogtest&quot;&gt;
	This is a div dialog test. This is a div dialog test. This is a div dialog test. This is a div dialog test. This is a div dialog test.
	&lt;/div&gt;
&lt;/article&gt;
</pre>
<pre class="brush: jscript;">
&lt;script type=&quot;text/javascript&quot;&gt;
	$(document).ready(function() {
		/* Create a dialog */
		$(&quot;#dialogtest&quot;).dialog({
                        title: &quot;Alert!&quot;,
			modal: true,
			buttons: {
				&quot;Ok&quot;: function() {
					$(this).dialog(&quot;close&quot;);
				},
				&quot;Cancel&quot;: function() {
					$(this).dialog(&quot;close&quot;);
				}
			}
		});

		/* Add Dialog Button Functionality */
		$('#dialogbutton').click(function(){
			$('#dialogtest').dialog('open');
			return false;
		});
	});

&lt;/script&gt;
</pre>
<p>	That&#8217;s really great, I mean that code is so small and yet you can get such a great looking item out of it.  So how can I have a problem with that? Well let me tell you how the buttons are made, you have a name and then you have that name point to a function.  The name is the text of the button, the function is the action of the button.  And that&#8217;s it. Period.</p>
<p>
	Now, I find it great that I can use these simplistic featuresets and get &#8216;get by&#8217; but normally my &#8220;Cancel don&#8217;t ever touch me button&#8221; is the color red(ish) while my &#8220;Oh you need to hit me to move on&#8221; button is the color green(ish).  But you cannot do that (easily) with this current setup.  In fact it&#8217;s very sloppy to force this setup into doing that and it ends up using a great amount of code just to do one thing, add a class.</p>
<p>
	To solve this, I did what any self respecting JavaScript ninja would do, <del datetime="2010-06-10T14:23:34+00:00">I said goodbye to jQuery UI</del> I opened up the source code and took a peek, found out where I could attack (fix) the code and I did it.<br />
        So before I show you the code, I will show you how I decided buttons should/could be made.  My process is 100% backward compatible, yet more difficult and easier to mess up (the original goal of jQueryUI was obviously to make it as simple as possible).</p>
<p>	Buttons with my code changes can now be made like this</p>
<pre class="brush: jscript;">
buttons: {
	&quot;Ok&quot;:  function() {
		$(this).dialog(&quot;close&quot;);
	},
	&quot;Cancel&quot;: {
		action : function() {
			$(this).dialog(&quot;close&quot;);
		},
		type : &quot;cancel&quot;
	}
</pre>
<pre class="brush: css;">
/* This is poor CSS by design to be simple and readable */
 div.ui-dialog-buttonpane button.cancel { background:none; border:0px none;color:red; }
</pre>
<p>	and the old way of doing it will still work just fine as well.</p>
<p>	I&#8217;ve gone ahead and added a few features, namely it is now name-points-to-object instead of the old name-points-to-function mentality.  This object has two attributes: action and type.  Action is the old function() that was pointed to and it will be called when this button is clicked. Type is the new feature on the block, it&#8217;s just a CSS class that is added to the function using jQuery.addClass.  I&#8217;ve tried to keep is simple, and at the same time, make it robust and backward compatible.  Here&#8217;s a simple change that is possible using this feature.</p>
<p><a rel="attachment wp-att-210" href="http://www.geedew.com/2010/06/10/advanced-button-theming-on-jquery-ui-dialog/screen-capture-2/"><img class="aligncenter size-medium wp-image-210" title="What jQuery UI dialog buttons should be able to do" src="http://cdn.geedew.com/wp-content/uploads/2010/06/screen-capture-2-300x203.png" alt="A jQuery UI with different colored buttons" width="300" height="203" /></a>
<p>
	Now my dialogs can look like this when I want them to.  This is a big usability thing (make the buttons descriptive, not just in text but in color/design and function).</p>
<p>	So the secret sauce to all of this is actually an extension of the jQueryUI 1.8.2 Dialog code (more like rewrite of some of the code).  This code can only be ran AFTER jQueryUI 1.8.2 has been created, otherwise you will get an error.  I placed this code into the jQueryUI 1.8.2 custom.js file itself for easy keeping; just drop it at the bottom of the file.</p>
<pre class="brush: jscript;">
/* TorchUI dialog button fix */
(function($) {
	var _createButtons = $.ui.dialog.prototype._createButtons;
	$.ui.dialog.prototype._createButtons = function(buttons) {
		var self = this,
		hasButtons = false,
		uiDialogButtonPane = $('&lt;div&gt;&lt;/div&gt;')
			.addClass(
				'ui-dialog-buttonpane ' +
				'ui-widget-content ' +
				'ui-helper-clearfix'
			);
		// if we already have a button pane, remove it
		self.uiDialog.find('.ui-dialog-buttonpane').remove();

		if (typeof buttons === 'object' &amp;&amp; buttons !== null) {
			$.each(buttons, function() {
				return !(hasButtons = true);
			});
		}
		if (hasButtons) {
			$.each(buttons, function(name, fn) {
                        /* Begin the code change here */
			// Check to see if fn is being passed in as a funciton, assume it's an object if not.
			 	if(!$.isFunction(fn)) {
			 		var buttonclass=fn.type;var func=fn.action; }
			 	else {
			 		var func=fn; var buttonclass=&quot;&quot;; }
				var button = $('&lt;button type=&quot;button&quot;&gt;&lt;/button&gt;')
					.text(name)
				/* Add a class to the button, if there is a class */
					.addClass(buttonclass)
					.click(function() { func.apply(self.element[0], arguments); })
					.appendTo(uiDialogButtonPane);
				if ($.fn.button) {
					button.button();
				}
			});
			uiDialogButtonPane.appendTo(self.uiDialog);
		}
	}
})(jQuery);
</pre>
<p>	If you have questions, please respond, I promise not to take them personally <img src='http://cdn.geedew.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.geedew.com/2010/06/10/advanced-button-theming-on-jquery-ui-dialog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Droid Rooted, here&#8217;s my take.</title>
		<link>http://www.geedew.com/2009/12/08/droid-rooted-heres-my-take/</link>
		<comments>http://www.geedew.com/2009/12/08/droid-rooted-heres-my-take/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 05:42:30 +0000</pubDate>
		<dc:creator>Drew</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[2.01]]></category>
		<category><![CDATA[droid]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[verizon]]></category>

		<guid isPermaLink="false">http://www.geedew.com/?p=144</guid>
		<description><![CDATA[Before you root, you should probably upgrade to 2.01, as that will &#8216;break&#8217; your new root access. You can get that download from here, if you have not already received it OTA (Over the Air). You need to follow the directions below, to apply the 2.01. The directions for each download it exactly the same, [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=b02858dd9961de60a8a7d0f9efe9c758&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=20 height=20/><p>Before you root, you should probably upgrade to 2.01, as that will &#8216;break&#8217; your new root access. You can get that download from <a href="https://android.clients.google.com/updates/voles/signed-voles-ESD56-from-ESD20.84263456.zip">here</a>, if you have not already received it OTA (Over the Air). You need to follow the directions below, to apply the 2.01.  The directions for each download it exactly the same, except for the ADB access.</p>
<p>This &#8216;root&#8217; is strictly for developers.  It&#8217;s not going to give you any ability to do anything to your phone yet, unless you really know your *nix commands well enough not to screw something up on your phone.  So continue only if you really want this ability (the ability to really screw up your phone).<br />
<span id="more-144"></span><br />
You can follow the direct postings <a href="http://alldroid.org/viewtopic.php?f=210&#038;t=567">here.</a><br />
I&#8217;ve downloaded the file (best link is <a href="http://alldroid.org/download/file.php?id=643">here</a>).  You should also download this file, as it will be needed.</p>
<blockquote><p>md5sum of the boot partition:<br />
3e49d99b320cf5c20bedf09343c1155c /dev/mtd/mtd2
</p></blockquote>
<p>Here is the `how-to` that <a href="http://alldroid.org/memberlist.php?mode=viewprofile&#038;u=1941">embeem</a> posted, I will add to it where I see fit, just to help some of those out as to what is going on.</p>
<blockquote><p>Download the zip file</p></blockquote>
<p>You can find the link at the top of this post.</p>
<blockquote><p>
Rename to &#8220;update.zip&#8221; and copy to the sdcard</p></blockquote>
<p>It is currently named `droid-root.zip`, `update.zip` is required as that will be used internally by the script in the program.</p>
<blockquote><p>Power off the DROID and power back on while holding the X key<br />
When you see a &#8220;/!\&#8221; symbol, press both vol+ and camera</p></blockquote>
<p>This isn&#8217;t magic, it&#8217;s simply a rescue mode. Slide the keyboard out to start. It&#8217;s very easy to figure out what is going on here.  You have to press and hold the volume Up key then press the camera button. </p>
<blockquote><p>Use the onscreen menu to install update.zip</p></blockquote>
<p>You must use your d-pad to do this.  just choose update.zip from the menu.</p>
<blockquote><p>Once installed you will be able to run &#8220;su&#8221; from your adb shell.</p></blockquote>
<p>This one is the kicker, best explained by <a href="http://alldroid.org/memberlist.php?mode=viewprofile&#038;u=2264">syntrix</a></p>
<blockquote><p>you have to attach your droid in debug mode in eclipse and use adb from the sdk. Again, I&#8217;m holding off on this, it&#8217;s my only phone.</p>
<p>But once you get this access, you can run commands natively, and copy files to the sd and pull them off the droid.</p></blockquote>
<p>ADB is only ran from the SDK developers tools.  In other words, you are running command from your computer, not the phone.</p>
<p>Now, to take this a step further, we can also get a terminal emulator running on the phone with root access according to <a href="http://alldroid.org/memberlist.php?mode=viewprofile&#038;u=2309">mjxg&#8217;s</a> post&#8230;</p>
<blockquote><p>
1) download this: http://www.magicandroidapps.com/su.zip<br />
2) push it to your phone</p>
<p>C:\Android>adb push su /data/local<br />
595 KB/s (76200 bytes in 0.125s)</p>
<p>3) C:\Android>adb shell<br />
$ su<br />
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system<br />
# cd /system/bin<br />
# mv su osu<br />
# cat /data/local/su > su<br />
# chmod 6755 su</p>
<p>4) verify</p>
<p># ls -l *su<br />
-rwsr-sr-x root root 76200 2008-08-01 05:00 osu<br />
-rwsr-sr-x root root 76200 2009-05-30 11:28 su</p>
<p>5) finish</p>
<p># sync<br />
# reboot</p>
<p>6) open up a terminal emulator on the phone and run `su` and enjoy</p></blockquote>
<p>With all this said, this is a remarkable, easy root access. It literally is just adding a file  (&#8216;su&#8217;) that the user has permissions to.  &#8216;SU&#8217; means, switch user, and by default, that user is root.  Giving the user access to this file, means they can run that command, and if that file has the right permissions, which is does in the update, it will run &#8216;as&#8217; root.  And tada, you can now begin to get access to the rest of the system!</p>
<p>Developers will now take over.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geedew.com/2009/12/08/droid-rooted-heres-my-take/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery Dialog Shadow Issues.</title>
		<link>http://www.geedew.com/2009/03/01/jquery-dialog-shadow-issues/</link>
		<comments>http://www.geedew.com/2009/03/01/jquery-dialog-shadow-issues/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 07:12:20 +0000</pubDate>
		<dc:creator>Drew</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://geedew.com/?p=30</guid>
		<description><![CDATA[While working on a dialog in the new jQuery UI 1.6rc6.  I have come accross an issue. If you were to open a dialog, and then dynamically change the content in the dialog, the shadow border will not resize.  The problem is, the code does not &#8216;know&#8217; the box is larger, and is not able [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=b02858dd9961de60a8a7d0f9efe9c758&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=20 height=20/><p>While working on a dialog in the new jQuery UI 1.6rc6.  I have come accross an issue.</p>
<p>If you were to open a dialog, and then dynamically change the content in the dialog, the shadow border will not resize.  The problem is, the code does not &#8216;know&#8217; the box is larger, and is not able to watch for the changes.   Their have been some solutions that I have found to solve this, like turning off shadows, etc.  But I think I have a better one, a 3-line solution so to speak<br />
Go into your code, mine is in my jquery-ui-personalized-1.6rc6.js file&#8230; Also could be in ui.dialog.js etc.</p>
<p>Inside the code (mine is line 4218) after this function</p>
<pre class="brush: plain;">

$.widget(&quot;ui.dialog&quot;, {

_init: function() {
</pre>
<p>add this function</p>
<pre class="brush: plain;">

refresh: function() {
this._refreshShadow(1);
},
</pre>
<p>Then from within your code you can call something like this&#8230;</p>
<pre class="brush: plain;">$(&quot;#dialogbox&quot;).dialog(&quot;refresh&quot;);</pre>
<p>Check for updates, I may write a drop-in style patch so the coding isn&#8217;t necessary.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geedew.com/2009/03/01/jquery-dialog-shadow-issues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Saving Battery on your Lenovo X61 in Linux</title>
		<link>http://www.geedew.com/2008/12/06/saving-battery-on-you-lenovo-x61-in-linux/</link>
		<comments>http://www.geedew.com/2008/12/06/saving-battery-on-you-lenovo-x61-in-linux/#comments</comments>
		<pubDate>Sun, 07 Dec 2008 04:52:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://geedew.com/?p=24</guid>
		<description><![CDATA[here are some issues with the power manager in ubuntu and tablet.  There was  alarge discussion you can find here. But basically to save power and time you should run without atime by following these commands Make sure you have vim-full installed sudo apt-get install vim-full This is a powerful editor, the lite edition is [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=b02858dd9961de60a8a7d0f9efe9c758&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=20 height=20/><h3><a name="disk"></a></h3>
<p>here are some issues with the power manager in ubuntu and tablet.  There was  alarge discussion you can find <a href="https://bugs.launchpad.net/ubuntu/+source/acpi-support/+bug/59695" target="_blank">here</a>.</p>
<p><a href="https://wiki.ubuntu.com/DanielHahler/Bug59695"></a></p>
<p>But basically to save power and time you should run without atime by following these commands</p>
<p>Make sure you have vim-full installed</p>
<pre>sudo apt-get install vim-full</pre>
<p>This is a powerful editor, the lite edition is confusing to some, ignore this if you would like to use gedit (think graphical editor) just replace `vi` with `gedit` in the commands</p>
<p>Next,</p>
<pre>sudo vi /etc/fstab</pre>
<p>Find the line that looks like this,</p>
<p><em> UUID=65d4f3af-6###-4767-b###-4aa28b61b### / ext3 defaults,errors=remount-ro 0 1 </em></p>
<p>Do not copy my line, your likely to have issues if you do so.</p>
<p>Make the line look like this by pressing `insert` and moving the pointer to the place and typing in the text, hit &#8216;esc&#8217; and then &#8216;shift + v&#8217;  twice</p>
<p><em> UUID=65d4f3af-6###-4767-b###-4aa28b61b### / ext3 defaults,errors=remount-ro,<strong>noatime</strong> 0 1 </em></p>
<p>Restart your system or run this command</p>
<pre>        sudo mount -o remount /</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.geedew.com/2008/12/06/saving-battery-on-you-lenovo-x61-in-linux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Updating Ubuntu to Newest Wacom</title>
		<link>http://www.geedew.com/2008/12/06/updating-ubuntu-to-newest-wacom/</link>
		<comments>http://www.geedew.com/2008/12/06/updating-ubuntu-to-newest-wacom/#comments</comments>
		<pubDate>Sun, 07 Dec 2008 04:33:49 +0000</pubDate>
		<dc:creator>Drew</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tablet]]></category>
		<category><![CDATA[x61]]></category>

		<guid isPermaLink="false">http://geedew.com/?p=23</guid>
		<description><![CDATA[Most users of linux need not be concerned with updating Wacom.  But there are many out there that should be.  Namely, those that are using tablets or have a tablet PC.  Wacom is probably the number one driver manager for tablet hardware in linux.  Unfortunately, it&#8217;s a driver that too often gets fuddled with and [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=b02858dd9961de60a8a7d0f9efe9c758&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=20 height=20/><p>Most users of linux need not be concerned with updating Wacom.  But there are many out there that should be.  Namely, those that are using tablets or have a tablet PC.  Wacom is probably the number one driver manager for tablet hardware in linux.  Unfortunately, it&#8217;s a driver that too often gets fuddled with and not upgraded.</p>
<p style="padding-left: 60px;"><span style="color: #888888;">You can check your current version by running this command in a terminal (Applications-&gt;Accessories-&gt;Terminal)</span></p>
<pre style="padding-left: 60px;"><span style="color: #888888;">dpkg -p wacom-tools  | grep Version</span></pre>
<p style="padding-left: 60px;"><span style="color: #888888;">You should get an output of something like this</span></p>
<pre style="padding-left: 60px;"><span style="color: #888888;">Version 1:08.1.4-0ubuntu3</span></pre>
<p style="padding-left: 60px;"><span style="color: #888888;">If that has 08.2 instead of 08.1.##, then you can disregard updating (Understand that this post is from Dec 08, a new version can be found <a href="http://linuxwacom.sourceforge.net/" target="_blank">here</a> when they come out).</span></p>
<p>To solve this, you should always keep your wacom updated to the newest version.  As with this post, the newest version is  0.8.2 (<a title="Linux Wacom Project" href="http://linuxwacom.sourceforge.net/" target="_blank">The Linux Wacom Project</a>).  Intrepid Ibex, the current release of Ubuntu, ships with .8.1-4.  .8.2 adds some new features, like better touch support.  Users with an X61T like me would LOVE to have this back after frying Vista.</p>
<p>First thing you should do it download the newest version here &#8211; <a title="Download 0.8.2" href="http://prdownloads.sourceforge.net/linuxwacom/linuxwacom-0.8.2.tar.bz2">0.8.2</a></p>
<p>**This is a pre-built binary.  If this doesn&#8217;t work for you, you should read below.</p>
<p>Download the file to your Desktop and unpack it using the archive manager. You can delete these files when your finished.</p>
<p>Run these commands</p>
<pre>cd Desktop/linuxwacom-0.8.1-6/prebuilt</pre>
<pre>sudo ./uninstall</pre>
<pre>sudo ./install</pre>
<p>The last step is to press &#8216;ctrl + alt + backspace&#8217; to restart your X11.  This will log you out of X11, so make sure to save anything you have open.</p>
<p>For those users that are unable to follow these steps because of errors. You may need to compile the drivers on your own.  You can find out the information on how to do that <a href="https://help.ubuntu.com/community/Wacom/LatestDriver" target="_self">here</a>.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geedew.com/2008/12/06/updating-ubuntu-to-newest-wacom/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Server Accessible Locally, Not from the Internet</title>
		<link>http://www.geedew.com/2008/05/22/server-accessible-locally-not-from-the-internet/</link>
		<comments>http://www.geedew.com/2008/05/22/server-accessible-locally-not-from-the-internet/#comments</comments>
		<pubDate>Thu, 22 May 2008 12:32:11 +0000</pubDate>
		<dc:creator>Drew</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://geedew.com/?p=18</guid>
		<description><![CDATA[You can learn something everyday it seems. Yesterday, I had some issues that I hadn&#8217;t planned on ever occurring with my local development server. Basically, the issue was discovered when my server suddenly did not have ANY access from the internet. Now, it DID have access to the internet, oddly enough, and I could reach [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=b02858dd9961de60a8a7d0f9efe9c758&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=20 height=20/><p>You can learn something everyday it seems.</p>
<p>Yesterday, I had some issues that I hadn&#8217;t planned on ever occurring with my local development server.  Basically, the issue was discovered when my server suddenly did not have ANY access from the internet.  Now, it DID have access to the internet, oddly enough, and I could reach it via hostname through my local network.  The first issue I figured it would have been was a router problem.  Namely port forwarding was getting messed up.  My server is set statically on my network, so the port forwarding should be fine, and Remote Desktop to my XP machine works fine from the outside world.  So the router is NOT the issue.  Next step was DNS.  Maybe my dns is messed up?  I checked out my /etc/resolv.conf</p>
<blockquote><p>&gt; vi /etc/resolv.conf</p>
<blockquote><p>nameserver 192.168.1.149<br />
nameserver ###.###.###.###</p></blockquote>
</blockquote>
<p>I blocked out the ### because this is uneeded information about my ISP.  Normally you want your name servers to be a nameserver, or your access to a name server.  The first shows my router, from the inner network, which is what can be here.  This explains why my hostname works via my network.  But it is not the solution to my issue.  So I dugg a bit deeper.  What was that I said earlier?  Ah yes, my server has a STATIC ip.  Which means I should have a static route.</p>
<blockquote><p>&gt; ip route</p></blockquote>
<blockquote><p>192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.129<br />
default via 192.168.1.1 dev eth0  metric 100</p></blockquote>
<p>OK! There is my issue! My static route is pointing by default to 192.168.1.1 which is NOT my router (192.168.1.149).  So a quick update to that and that should fix it!</p>
<blockquote><p>&gt; vi /etc/network/interfaces</p></blockquote>
<blockquote><p># This file describes the network interfaces available on your system<br />
# and how to activate them. For more information, see interfaces(5).</p>
<p># The loopback network interface<br />
auto lo<br />
iface lo inet loopback</p>
<p># The primary network interface<br />
auto eth0<br />
iface eth0 inet static<br />
address  192.168.1.129<br />
netmask 255.255.255.0<br />
network 192.168.1.0<br />
<strong> gateway 192.168.1.149</strong></p></blockquote>
<p>I edited the line in bold.  This was 192.168.1.1 and now it is 192.168.1.149</p>
<blockquote><p>&gt; /etc/init.d/networking restart</p></blockquote>
<p>Now the networking is reset!</p>
<blockquote><p>&gt; ip route<br />
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.129<br />
default via 192.168.1.149 dev eth0  metric 100<br />
default via 192.168.1.1 dev eth0  metric 100</p></blockquote>
<p>And Wa-Laa!  All done.  Now I can access my server via the internet from anywhere as it should be always.</p>
<p>Lesson learned I guess. Hope this helps some others stump issues they are having with static networking on linux.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geedew.com/2008/05/22/server-accessible-locally-not-from-the-internet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To: Converting PDF to Word and HTML</title>
		<link>http://www.geedew.com/2007/12/23/how-to-converting-pdf-to-word-and-html/</link>
		<comments>http://www.geedew.com/2007/12/23/how-to-converting-pdf-to-word-and-html/#comments</comments>
		<pubDate>Sun, 23 Dec 2007 08:36:38 +0000</pubDate>
		<dc:creator>Drew</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Microsoft Office]]></category>
		<category><![CDATA[OpenOffice]]></category>
		<category><![CDATA[PDF]]></category>

		<guid isPermaLink="false">http://geedew.com/wp-content/uploads/2007/12/23/how-to-converting-pdf-to-word-and-html/</guid>
		<description><![CDATA[Sites need to be able to interact in one single, universal space. -Tim Berners-Lee I started this little project because I have a client whom needs to get his 24 page PDF online. The problem is that a 24 page PDF with all the bells and whistles ends up being over 5mb in size. This [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=b02858dd9961de60a8a7d0f9efe9c758&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=20 height=20/><p align="center"><span style="size: 12px; font-weight: 400; color: #000000; font-family: calibri,veranda">Sites need to be able to interact in one single, universal space.</span></p>
<p align="right"><span style="size: 14px; font-weight: bold; color: #000000; font-family: calibri,veranda">-Tim Berners-Lee</span></p>
<p align="left"><span style="size: 12px; color: #000000; font-family: calibri,veranda">I started this little project because I have a client whom needs to get his 24 page PDF online.  The problem is that a 24 page PDF with all the bells and whistles</span></p>
<p align="left"><span style="size: 12px; color: #000000; font-family: calibri,veranda">ends up being over 5mb in size.  This causes issues for people running sub-cable internet connections, as the loading time becomes horrendous.  So to solve the problem, I am going to run the PDF as a download by choice and have all the links point to the HTML(Hyper-Text Markup Language: what webpages are written in) converted page when they click on what page they want to see.  This does however cause problems if something is updated on the PDF, the HTML is not dynamic or binded to the PDF so and update will p align=&#8221;left&#8221;&gt;     <span style="size: 12px; color: #000000; font-family: calibri,veranda">have to occur in both places.  The only way around that is to have the HTML being the origionating source and have the &#8216;download as pdf&#8217; link be  a call to a server side script that packages the HTML as a PDF. That however is too much for what this client needs and the issues with the updating will have to be taken in stride. </span></span></p>
<p align="left"><span style="size: 12px; color: #000000; font-family: calibri,veranda"> </span></p>
<blockquote>
<p align="left"><span style="size: 12px; color: #000000; font-family: calibri,veranda"><strong>Tools Needed</strong>:<br />
RTF or DOC reader (I prefer OpenOffice2.2) that can convert to HTML<br />
A Program designed to convert PDF to DOC format (I used Able2dDoc, licensed)</span></p>
</blockquote>
<p align="left"><span style="size: 12px; color: #000000; font-family: calibri,veranda">Unfortunately, In my case, the PDF contained a large amount of tables that were made up by images after conversion. Because of this, I had to handle things a little bit different, in which I will explain later.</span></p>
<p align="left"><span style="size: 12px; color: #000000; font-family: calibri,veranda"><br />
<strong>First things first, lets convert to HTML</strong></span></p>
<p align="left"><span style="size: 12px; color: #000000; font-family: calibri,veranda"> Using the software I used, Able2Doc, if you load up the PDF you can simply convert the file to a DOC format.  Notice, not many converters will go straight from PDF to DOC or RTF formats. Once you are able to convert the PDF to DOC or RTF, you can then open up that file into Microsoft Office or Open Office.  Both have the ability to Open up these files and then Export them as HTML.</span></p>
<p align="left"><span style="size: 12px; color: #000000; font-family: calibri,veranda"><strong>Microsoft Offices&#8217; way of doing things</strong></span></p>
<p style="text-align: left;"><span style="size: 12px; color: #000000; font-family: calibri,veranda">Office is really simple. Take the document you are in and go to File-&gt;Save As-&gt;Other</span></p>
<p>
<span style="size: 12px; color: #000000; font-family: calibri,veranda"> </span><a title="PDF to HTML Save as" href="http://geedew.com/blog/wp-content/uploads/2007/12/pdftohtml-word-saveas.png"><img style="border: 1px solid black;" src="http://geedew.com/blog/wp-content/uploads/2007/12/pdftohtml-word-saveas.png" alt="PDF to HTML Save as" width="500" height="300" /></a><br />
</p>
<p align="left"><span style="size: 12px; color: #000000; font-family: calibri,veranda"> Then after that you can go click and change the type to an HTML Document&#8230; put in the name and your done!</span></p>
<p></p>
<p align="left"><a title="PDF to HTML Save as HTML" href="http://geedew.com/blog/wp-content/uploads/2007/12/pdftohtml-word-saveas-html.png"><img style="border: 1px solid black;" src="http://geedew.com/blog/wp-content/uploads/2007/12/pdftohtml-word-saveas-html.png" alt="PDF to HTML Save as HTML" width="500" height="300" /></a></p>
<p></p>
<p align="left"><span style="size: 12px; color: #000000; font-family: calibri,veranda"><strong>Open Offices&#8217; way of doing things<br />
</strong>In Open Office, it is actually easier! Just have your document open and then go to File -&gt;Save As and you can then select the HTML from the drop down list.  No extra step as there is in Word.</span></p>
<p align="left"> </p>
<p align="left"> </p>
<p align="left"><a title="PDF to HTML OO" href="http://geedew.com/blog/wp-content/uploads/2007/12/pdftohtml-oo2-saveas-html.png"><img style="border: 1px solid black;" src="http://geedew.com/blog/wp-content/uploads/2007/12/pdftohtml-oo2-saveas-html.png" alt="PDF to HTML OO" width="500" height="300" /></a></p>
<p></p>
<p align="left"><span style="size: 12px; color: #000000; font-family: calibri,veranda"><br />
<strong>When things get messy&#8230;<br />
</strong>You have to start to get creative. I know, it stinks, when things just don&#8217;t go your way.  I mentioned earlier that I my specific issue just could not be settled by this process only because the images in the PDF were making up the tables and the text did not stick inside the image/tables when changed to HTML.  I ended having to go with a slightly altered reality, but the end result to the user is near the same.</span></p>
<p align="left"><span style="size: 12px; color: #000000; font-family: calibri,veranda">The idea that I had was to split the PDF into images. This was actually really easy to do.  I swapped over to linux for this part (Ubuntu Gutsy).  The PDF Reader program has the ability to output to JPG for your PDF&#8217;s.  This came in very handy, I simply outputted the PDF I was using, 28 pages of it, as JPG&#8217;s and then used to Javascript to make a nice little  setup for Checking out the picutres.</span></p>
<blockquote>
<h5><span style="font-family: calibri; ">Javascript Code In the &lt;body&gt; tags :</span><br />
<span style="color: #888888;"><span style="font-weight: normal;">&lt;script&gt; function PageQuery(q) {if(q.length &gt; 1) this.q = q.substring(1, q.length);else this.q = null;<br />
this.keyValuePairs = new Array();<br />
if(q) {<br />
for(var i=0; i &lt; this.q.split(&#8220;&amp;&#8221;).length; i++) {<br />
this.keyValuePairs[i] = this.q.split(&#8220;&amp;&#8221;)[i];<br />
}<br />
}<br />
this.getKeyValuePairs = function() { return this.keyValuePairs; }<br />
this.getValue = function(s) {<br />
for(var j=0; j &lt; this.keyValuePairs.length; j++) {<br />
if(this.keyValuePairs[j].split(&#8220;=&#8221;)[0] == s)<br />
return this.keyValuePairs[j].split(&#8220;=&#8221;)[1];<br />
}<br />
return false;<br />
}<br />
this.getParameters = function() {<br />
var a = new Array(this.getLength());<br />
for(var j=0; j &lt; this.keyValuePairs.length; j++) {<br />
a[j] = this.keyValuePairs[j].split(&#8220;=&#8221;)[0];<br />
}<br />
return a;<br />
}<br />
this.getLength = function() { return this.keyValuePairs.length; }<br />
}<br />
function queryString(key){<br />
var page = new PageQuery(window.location.search);<br />
return unescape(page.getValue(key));<br />
}<br />
function displayItem(key){<br />
if(queryString(key)==&#8217;false&#8217;)<br />
{<br />
return &#8217;1&#8242;;<br />
}else{<br />
return queryString(key);<br />
}<br />
}<br />
&lt;/script&gt;</span></span></h5>
</blockquote>
<p><script type="text/javascript"><!--
 function PageQuery(q) {if(q.length > 1) this.q = q.substring(1, q.length);else this.q = null;
this.keyValuePairs = new Array();
if(q) {
for(var i=0; i < this.q.split("&#038;").length; i++) {
this.keyValuePairs[i] = this.q.split("&#038;")[i];
}
}
this.getKeyValuePairs = function() { return this.keyValuePairs; }
this.getValue = function(s) {
for(var j=0; j < this.keyValuePairs.length; j++) {
if(this.keyValuePairs[j].split("=")[0] == s)
return this.keyValuePairs[j].split("=")[1];
}
return false;
}
this.getParameters = function() {
var a = new Array(this.getLength());
for(var j=0; j < this.keyValuePairs.length; j++) {
a[j] = this.keyValuePairs[j].split("=")[0];
}
return a;
}
this.getLength = function() { return this.keyValuePairs.length; }
}
function queryString(key){
var page = new PageQuery(window.location.search);
return unescape(page.getValue(key));
}
function displayItem(key){
if(queryString(key)=='false')
{
return '1';
}else{
return queryString(key);
}
}
// --></script></p>
<p><span style="size: 12px; color: #000000; font-family: calibri,veranda"><strong>What else?<br />
</strong></span></p>
<p><span style="size: 12px; color: #000000; font-family: calibri,veranda"><strong> </strong>Once this code is in place, you can see what it is trying to do.  You are basically parsing a query address URL and looking for the specific information showing on whatever variable you pass in.  This is giving your JavaScript the ability to know what a variable is from a JavaScript /PHP equivalent to the Get variables.</span><span style="size: 12px; color: #000000; font-family: calibri,veranda"><strong><br />
</strong></span></p>
<p><span style="size: 12px; color: #000000; font-family: calibri,veranda"><strong> </strong>Now you need the code that will change values of a select box, so the complete picture will come into view.</span></p>
<p><!--</p-->
<p><span style="size: 12px; color: #000000; font-family: calibri,veranda">The idea that I had was to split the PDF into images. This was actually really easy to do. I swapped over to Linux for this part (Ubuntu Gutsy). The PDF Reader program has the ability to output to JPG for your PDF&#8217;s. This came in very handy, I simply outputted the PDF I was using, 28 pages of it, as JPG&#8217;s and then used to JavaScript to make a nice little setup for Checking out the pictures.</span></p>
<blockquote>
<h5><span style="font-weight: normal;"><span style="color: #888888;">&lt;</span></span><span style="font-weight: normal;"><span style="color: #888888;">SCRIPT LANGUAGE=&#8221;JavaScript&#8221;&gt;<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> function loadPage(value) {<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;">if(value == &#8220;&#8221;) {<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> document.getElementById(&#8216;mainimage&#8217;).src=&#8221;img/ProductCatalog/Page1.jpg&#8221;;<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> } else {<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> document.getElementById(&#8216;mainimage&#8217;).src=&#8221;img/ProductCatalog/Page&#8221; + displayItem(&#8216;p&#8217;) +&#8221;.jpg&#8221;;<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> }<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> }<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> function changeImage()<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;">{<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> document.getElementById(&#8216;mainimage&#8217;).src = document.getElementById(&#8216;list&#8217;).options[document.getElementById('list').selectedIndex].value;<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> }<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;">function prevImage()<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> {<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> if(document.getElementById(&#8216;list&#8217;).selectedIndex == 0)<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> {<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> document.getElementById(&#8216;list&#8217;).selectedIndex = document.getElementById(&#8216;list&#8217;).options.length-1;<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> }<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> else<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> {<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> document.getElementById(&#8216;list&#8217;).selectedIndex&#8211;;<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> }<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> changeImage();<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> }<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;">function nextImage()<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> {<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> if(document.getElementById(&#8216;list&#8217;).selectedIndex == document.getElementById(&#8216;list&#8217;).options.length-1)<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> {<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> document.getElementById(&#8216;list&#8217;).selectedIndex = 0;<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> }<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> else<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> {<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> document.getElementById(&#8216;list&#8217;).selectedIndex++;<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> }<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;"> changeImage();<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;">}<br />
</span></span></h5>
<h5><span style="font-weight: normal;"><span style="color: #888888;">&lt;/script&gt;</span></span></h5>
</blockquote>
<p><span style="font-family: calibri;">That was pretty much what the JavaScript needed, and then I could handle everything else from HTML which made things much easier.  All that is said and done, any Q&#8217;s just ask.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geedew.com/2007/12/23/how-to-converting-pdf-to-word-and-html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
