<?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>cpradio's tidbits of information &#187; JavaScript</title>
	<atom:link href="http://cpradio.org/categories/code/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://cpradio.org</link>
	<description>my life experience and information that may help others find what they need</description>
	<lastBuildDate>Sat, 05 Sep 2009 12:38:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Local Printer Support via RDP (Remote Desktop)</title>
		<link>http://cpradio.org/personal/local-printer-support-via-rdp-remote-desktop/</link>
		<comments>http://cpradio.org/personal/local-printer-support-via-rdp-remote-desktop/#comments</comments>
		<pubDate>Wed, 28 Jan 2009 00:39:27 +0000</pubDate>
		<dc:creator>cpradio</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Kubuntu]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[printer]]></category>
		<category><![CDATA[rdesktop]]></category>

		<guid isPermaLink="false">http://cpradio.org/?p=165</guid>
		<description><![CDATA[For those wanting to support a local printer connected to their Linux system via RDP (Remote Desktop) connecting to a Windows server, here is a quick how-to.

First look up the Printer Name on your Linux box, it is best if it is a single word and under 20 characters.  You can typically find this [...]]]></description>
			<content:encoded><![CDATA[<p>For those wanting to support a local printer connected to their Linux system via RDP (Remote Desktop) connecting to a Windows server, here is a quick how-to.</p>
<ol>
<li>First look up the Printer Name on your Linux box, it is best if it is a single word and under 20 characters.  You can typically find this by opening a document, selecting Print and it should be the name in the drop down.</li>
<li>Next you will have a script that call rdesktop like so:<br />
<code>rdesktop -r printer:&lt;YOUR PRINTER NAME ON LINUX&gt;="WINDOWS DRIVER NAME AS IT APPEARS IN ADD PRINTER" &lt;YOUR SERVER IP ADDRESS&gt;</code></li>
<li>Run the rdesktop script and login</li>
<li>Go to Printers and Faxes</li>
<li>Right-click on the Printer that matches your Linux printer&#8217;s name and choose Properties</li>
<li>Print a test page!</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://cpradio.org/personal/local-printer-support-via-rdp-remote-desktop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dual Monitors and window.open(): Part 2</title>
		<link>http://cpradio.org/code/javascript/dual-monitors-and-windowopen-part-2/</link>
		<comments>http://cpradio.org/code/javascript/dual-monitors-and-windowopen-part-2/#comments</comments>
		<pubDate>Fri, 05 Oct 2007 23:54:26 +0000</pubDate>
		<dc:creator>cpradio</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[dual monitors]]></category>
		<category><![CDATA[window.open]]></category>

		<guid isPermaLink="false">http://cpradio.org/work/dual-monitors-and-windowopen-part-2/</guid>
		<description><![CDATA[What? There is more?!  Of course.  Previously I tackled the horizontal setup of dual monitors, now we tackle the vertical!
So just like window.screenLeft versus window.screenX, window.screenTop only works in IE and window.screenY works in everything else.  So here is the code I used to setup a window.*property*:

// Find Top Boundary of current [...]]]></description>
			<content:encoded><![CDATA[<p>What? There is more?!  Of course.  Previously I tackled the horizontal setup of dual monitors, now we tackle the vertical!</p>
<p>So just like <code>window.screenLeft</code> versus <code>window.screenX</code>, <code>window.screenTop</code> only works in IE and <code>window.screenY</code> works in everything else.  So here is the code I used to setup a window.*property*:</p>
<pre class="js">
// Find Top Boundary of current Window
function FindTopWindowBoundary()
{
	// In Internet Explorer window.screenTop is the window's top boundry
	if (window.screenTop)
	{
		return window.screenTop;
	}

	// In Firefox window.screenY is the window's top boundry
	if (window.screenY)
		return window.screenY;

	return 0;
}

window.topWindowBoundary  = FindTopWindowBoundary;
</pre>
<p>Then just like the horizontal setup, I needed to find the Monitor&#8217;s Top Border.  Like the horizontal counter-part, you need to check the negative y-axis scenario, which left me with this code:</p>
<pre class="js">
// Find Top Boundary of the Screen/Monitor
function FindTopScreenBoundary()
{
	// Check if the window is off the primary monitor in a positive axis
	// X,Y                 S = Screen, W = Window
	// 0,0     ----------
	//        |          |
	//        |          |
	//        |        S |
	//         ----------
	// X,Y
	// 0,1280  ----------
	//        |  ---     |
	//        | | W |    |
	//        |  ---   S |
	//         ----------
	if (window.topWindowBoundary() > window.screen.height)
	{
		return window.topWindowBoundary() - (window.topWindowBoundary() - window.screen.height);
	}

	// Check if the window is off the primary monitor in a negative axis
	// X,Y                   S = Screen, W = Window
	// 0,-1024   ----------
	//          |  ---     |
	//          | | W |    |
	//          |  ---   S |
	//           ----------
	// X,Y
	// 0,0       ----------
	//          |          |
	//          |          |
	//          |        S |
	//           ----------
	// This only works in Firefox at the moment due to a bug in Internet Explorer opening new windows into a negative axis
	// However, you can move opened windows into a negative axis as a workaround
	if (window.topWindowBoundary() < 0 &#038;&#038; window.topWindowBoundary() > (window.screen.height * -1))
	{
		return (window.screen.height * -1);
	}

	// If neither of the above, the monitor is on the primary monitor whose's screen Y should be 0
	return 0;
}
</pre>
<p>So now that we have the Top and Left boundaries written, we can open a window in any setup (2 monitors to 4 monitors to X monitors) using the following and be guaranteed that the new window will open in the same monitor as the parent window (except for IE where IE will not open windows in a negative axis).</p>
<pre class="js">window.open(thePage, 'windowName', 'resizable=1, scrollbars=1, fullscreen=0, height=200, width=650, screenX=' + window.leftScreenBoundary() + ' , left=' + window.leftScreenBoundary() + ',screenY=' + window.topScreenBoundary() + ',top=' + window.topScreenBoundary() + ', toolbar=0, menubar=0, status=1');</pre>
<p>And thus the finale of opening a child window in a dual, quad, whatever monitor setup.</p>
]]></content:encoded>
			<wfw:commentRss>http://cpradio.org/code/javascript/dual-monitors-and-windowopen-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dual Monitors and window.open()</title>
		<link>http://cpradio.org/code/javascript/dual-monitors-and-windowopen/</link>
		<comments>http://cpradio.org/code/javascript/dual-monitors-and-windowopen/#comments</comments>
		<pubDate>Wed, 26 Sep 2007 23:43:10 +0000</pubDate>
		<dc:creator>cpradio</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[dual monitors]]></category>
		<category><![CDATA[window.open]]></category>

		<guid isPermaLink="false">http://cpradio.org/code/javascript/dual-monitors-and-windowopen/</guid>
		<description><![CDATA[Lately, I have been plagued with the complicated tasks of solving problems at work that require dual monitors.  However, I only have a single monitor.  Until Today!
Today, I got my PC setup with Dual Monitors and was asked to solve the following problem:
&#8220;When the user clicks on a link that opens a new [...]]]></description>
			<content:encoded><![CDATA[<p>Lately, I have been plagued with the complicated tasks of solving problems at work that require dual monitors.  However, I only have a single monitor.  Until Today!</p>
<p>Today, I got my PC setup with Dual Monitors and was asked to solve the following problem:</p>
<blockquote><p>&#8220;When the user clicks on a link that opens a new window using window.open.  Make the window appear on the same monitor as its&#8217; parent.&#8221;</p></blockquote>
<p>So I got started.  Quickly I discovered that <code>window.screenLeft</code> (for IE) and <code>window.screenX</code> (for everyone else) will tell me where the window&#8217;s border is on the desktop.  So what better to do than to throw that in a window.*property* which gave me this code:</p>
<pre class="js">
// Find Left Boundry of current Window
function FindLeftWindowBoundry()
{
	// In Internet Explorer window.screenLeft is the window's left boundry
	if (window.screenLeft)
	{
		return window.screenLeft;
	}

	// In Firefox window.screenX is the window's left boundry
	if (window.screenX)
		return window.screenX;

	return 0;
}

window.leftWindowBoundry = FindLeftWindowBoundry;
</pre>
<p>Next, I needed to find the monitor&#8217;s left border.  Soon after, I figured out that there is no property currently for this, however, you can get the width of the current monitor your window is on by using <code>window.screen.width</code>.  There is a big pitfall that needs to be considered, you can have a monitor whose left border starts with a negative X-axis (ie: -1024&#215;0 to 0&#215;768).</p>
<p>So that left with me the following code:</p>
<pre class="js">
// Find Left Boundry of the Screen/Monitor
function FindLeftScreenBoundry()
{
	// Check if the window is off the primary monitor in a positive axis
	// X,Y                  X,Y                    S = Screen, W = Window
	// 0,0  ----------   1280,0  ----------
	//     |          |         |  ---     |
	//     |          |         | | W |    |
	//     |        S |         |  ---   S |
	//      ----------           ----------
	if (window.leftWindowBoundry() > window.screen.width)
	{
		return window.leftWindowBoundry() - (window.leftWindowBoundry() - window.screen.width);
	}

	// Check if the window is off the primary monitor in a negative axis
	// X,Y                  X,Y                    S = Screen, W = Window
	// 0,0  ----------  -1280,0  ----------
	//     |          |         |  ---     |
	//     |          |         | | W |    |
	//     |        S |         |  ---   S |
	//      ----------           ----------
	// This only works in Firefox at the moment due to a bug in Internet Explorer opening new windows into a negative axis
	// However, you can move opened windows into a negative axis as a workaround
	if (window.leftWindowBoundry() < 0 &#038;&#038; window.leftWindowBoundry() > (window.screen.width * -1))
	{
		return (window.screen.width * -1);
	}

	// If neither of the above, the monitor is on the primary monitor whose's screen X should be 0
	return 0;
}

window.leftScreenBoundry = FindLeftScreenBoundry;
</pre>
<p>Now that the code is written, you can now use <code>window.open</code> to open a window on the monitor the parent window is on.</p>
<pre class="js">window.open(thePage, 'windowName', 'resizable=1, scrollbars=1, fullscreen=0, height=200, width=650, screenX=' + window.leftScreenBoundry() + ' , left=' + window.leftScreenBoundry() + ', toolbar=0, menubar=0, status=1');</pre>
<p>Oh yeah, IE has a bug in it that prevents opening windows with <code>window.open</code> in the negative X-axis.  You have to use <code>windowName.moveTo(-1024, 0);</code> to move it to the negative X-axis.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://cpradio.org/code/javascript/dual-monitors-and-windowopen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Refactoring &#8211; What a time-saver</title>
		<link>http://cpradio.org/work/refactoring-saves-you-time-in-many-ways/</link>
		<comments>http://cpradio.org/work/refactoring-saves-you-time-in-many-ways/#comments</comments>
		<pubDate>Mon, 17 Sep 2007 02:52:52 +0000</pubDate>
		<dc:creator>cpradio</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[kiosk]]></category>

		<guid isPermaLink="false">http://cpradio.org/work/refactoring-saves-you-time-in-many-ways/</guid>
		<description><![CDATA[This weekend has been a nice relaxing weekend for me and so when I got back home this afternoon (on Sunday the 16th), I was in a great mood to refactor some of my kiosk code base.  Now, I should start by saying, I decided to refactor code instead of write new code tonight [...]]]></description>
			<content:encoded><![CDATA[<p>This weekend has been a nice relaxing weekend for me and so when I got back home this afternoon (on Sunday the 16th), I was in a great mood to refactor some of my kiosk code base.  Now, I should start by saying, I decided to refactor code instead of write new code tonight because I wanted to lessen the number of files that needed to load in the Ajax functionality.</p>
<p>Kiosk, uses Ajax in interesting ways to provide a better experience, but with that, the Ajax applications were built as each page was assembled.  This caused functionality across pages to get a bit messy or functionality shared across pages to get thrown into individual files.  Well the problem with individual files, is that is yet another file for the browser to download.</p>
<p>So before I get any further, let me discuss refactoring and how it can solve many performance binds your application may be experiencing.</p>
<p>To start off, refactoring is taking common code, or code that is used across pages or frequently and moving it to a more global location so it can be called easier and the code only has to be written once.</p>
<p>So where can this help?</p>
<ul>
<li>First of all, by refactoring code into a single global file, you can limit the number of HTTP requests if that file is accessible via the web.  Since your common code is in a single file, the browser only has to fetch that code once, and will then likely cache that file for each page after, giving you even better performance.</li>
<li>Secondly, by placing the common code in a global method/function, you are writing less code.  As now when you need to call that code on your second page, it is already written, so just call the function.  Otherwise, you would need to write the code all over again.</li>
<li>Thirdly, less code equals smaller files.  By refactoring your code, you can have smaller file sizes and in turn that is quicker to download, quicker to parse, and quicker to execute.</li>
</ul>
<p>Now in my situation, I took about 4 JavaScript files and combined them into a single file adequately named &#8220;general.js&#8221;.  The file contained code to automatically log the user out after a set amount of inactivity in the UI (User Interface).  Secondly, it contained the version checking mechanism calls that see if they are running the latest version of the software.  Unfortunately, those are the only two things it does right now, but as the project progresses, I am sure more utilities will get added in this file.</p>
<p>My next task is to refactor the Data Grid functionality so it is 1) XHTML, 2) easy to build complex columns with complex rows, 3) customizable by identifying StyleSheet classes for the columns and rows.  Hopefully, I can get my head around this idea and get it working with little trouble to the programmer.</p>
<p>So what can you think of that you need to refactor?  What performance gains do you suspect you will achieve with the refactoring you do?  Any performance markers?</p>
]]></content:encoded>
			<wfw:commentRss>http://cpradio.org/work/refactoring-saves-you-time-in-many-ways/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ajax versus Socket Connections</title>
		<link>http://cpradio.org/code/javascript/ajax-versus-socket-connections/</link>
		<comments>http://cpradio.org/code/javascript/ajax-versus-socket-connections/#comments</comments>
		<pubDate>Wed, 15 Aug 2007 23:55:02 +0000</pubDate>
		<dc:creator>cpradio</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://cpradio.org/code/javascript/ajax-versus-socket-connections/</guid>
		<description><![CDATA[Ever have to argue Ajax versus Socket Connections?  Me either.  Today, I had the chance to talk about the differences, their advantages and their disadvantages.
Ajax has many advantages.  You do not have to parse content/page headers, you can parse XML, you can build objects out of JSON serializations, and above all there [...]]]></description>
			<content:encoded><![CDATA[<p>Ever have to argue Ajax versus Socket Connections?  Me either.  Today, I had the chance to talk about the differences, their advantages and their disadvantages.</p>
<p>Ajax has many advantages.  You do not have to parse content/page headers, you can parse XML, you can build objects out of JSON serializations, and above all there are a lot of frameworks that are cross-browser friendly so you do not have to worry about writing the framework yourself.</p>
<p>A Socket Connections&#8217; advantages are much smaller in my opinion.  There is no browser limitations, which is a major advantage, keeping it browser independent.  It can support any type of response content, JSON serializations, XML, HTML, strings, etc.</p>
<p>So what about the disadvantages?  Ajax has the complications of cross-browser friendliness, but that has been removed by frameworks doing all that hard work for us.  Ajax&#8217;s biggest disadvantage is probably the lack of JavaScript standards being followed by each browser.  Though this is removed by using popular frameworks, it matters for the rest of your JavaScript code to setup the Ajax event.</p>
<p>So how about Socket Connections?  Socket Connection have the complication of trying to figure out where the response data starts and where the response headers end.  Secondly, they are language dependent.  Not all languages support sockets and some may make it very complicated to use them though, whereas, Ajax is getting easier and easier to use.</p>
<p>What are your thoughts?</p>
]]></content:encoded>
			<wfw:commentRss>http://cpradio.org/code/javascript/ajax-versus-socket-connections/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>File/Project Naming</title>
		<link>http://cpradio.org/code/javascript/fileproject-naming/</link>
		<comments>http://cpradio.org/code/javascript/fileproject-naming/#comments</comments>
		<pubDate>Tue, 31 Jul 2007 01:38:04 +0000</pubDate>
		<dc:creator>cpradio</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://cpradio.org/code/javascript/fileproject-naming/</guid>
		<description><![CDATA[File and project naming has been a massive debate at work lately as we teach newer employees the greatness of OOP.  On my way home, I had an epiphany, and so I just had to write it out.  So here is the best file naming reason/description you will ever read:
Your file names should [...]]]></description>
			<content:encoded><![CDATA[<p>File and project naming has been a massive debate at work lately as we teach newer employees the greatness of OOP.  On my way home, I had an epiphany, and so I just had to write it out.  So here is the best file naming reason/description you will ever read:</p>
<p>Your file names should describe your work without the developer having to open it to figure out what it does.  In OOP, you should define your parts/pieces first, and then your object in individual classes.  For example, you may find a class for Driver, Vehicle, Liabilities, and then one for Quote that incorporate the previous three.  The names are meaningful and you do not need to even see the code to understand what is in them.</p>
<p>Now that file naming is covered, how about project naming?  In all honesty, I am less concerned with project names than file names.  But, they are important none-the-less.  Your projects should describe your collection of classes in as few words as you can muster together.  For example, the above files might be under the project name &#8220;QuoteEngine&#8221;.  Why?  Cause they are the pieces that allow a quote to process and are likely to include the methods for actually submitting a quote as well.</p>
<p>Should your projects include acronyms such as DABL (Data Access/Business Layer)?  I personally do not think so.  If you have to physically describe it is the (Data Access/Business Layer) then your tiers are not neatly organized enough and you need to separate them better, or better define your classes to help resemble which layer you are in.</p>
<p>Well that is my two cents for the evening.</p>
]]></content:encoded>
			<wfw:commentRss>http://cpradio.org/code/javascript/fileproject-naming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>kiosk Development</title>
		<link>http://cpradio.org/code/javascript/kiosk-development/</link>
		<comments>http://cpradio.org/code/javascript/kiosk-development/#comments</comments>
		<pubDate>Thu, 01 Feb 2007 11:52:08 +0000</pubDate>
		<dc:creator>cpradio</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[kiosk]]></category>

		<guid isPermaLink="false">http://cpradio.org/code/javascript/kiosk-development/</guid>
		<description><![CDATA[kiosk is progressing very well.  I have started the programming some of the more significant portions of the project, such as, uploading Image, and creating Categories.  Unlike cpCommerce images will not be handled during the Category, Product, Manufacturer, etc. creation.  Instead, it is its&#8217; own section.  Why?  This way you [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://kiosk.cpradio.org/">kiosk</a> is progressing very well.  I have started the programming some of the more significant portions of the project, such as, uploading Image, and creating Categories.  Unlike <a href="http://cpcommerce.cpradio.org/">cpCommerce</a> images will not be handled during the Category, Product, Manufacturer, etc. creation.  Instead, it is its&#8217; own section.  Why?  This way you can upload all of your images via FTP, click a nice little link stating &#8220;Find Uploaded Images&#8221; and it will insert them into your database for you.  Then all you have to do is assign them to a Product, Category, Manufacturer, or Both, or All Three!</p>
<p>Images are entirely reusable.  So if you want to show a Product&#8217;s Image as the Category Image too, YOU CAN!  And you can do it without uploading another file!  I like to think <a href="http://kiosk.cpradio.org/">kiosk</a> is taking what <a href="http://cpcommerce.cpradio.org/">cpCommerce</a> started and taking it to a whole new level learning from its&#8217; mistakes, and hopefully you all agree.</p>
<p>Well that is enough on that for now, I will update everyone once again, when I have these sections entirely done.  Then you can pull it from the <a href="http://kiosk.cpradio.org/kiosksvn/">kiosk subversion repository</a> and give it a try yourself.</p>
]]></content:encoded>
			<wfw:commentRss>http://cpradio.org/code/javascript/kiosk-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ajax Search is Over</title>
		<link>http://cpradio.org/code/javascript/ajax-search-is-over/</link>
		<comments>http://cpradio.org/code/javascript/ajax-search-is-over/#comments</comments>
		<pubDate>Sun, 28 Jan 2007 03:36:08 +0000</pubDate>
		<dc:creator>cpradio</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[kiosk]]></category>

		<guid isPermaLink="false">http://cpradio.org/code/javascript/ajax-search-is-over/</guid>
		<description><![CDATA[I have settled on ASP.NET AJAX 1.0.  Why you ask?  Well for many reasons!  One, it is written well.  Lacks all the visual effects, but seriously, who needs those?  It is fast, as it uses JSON, and that is a MAJOR surprise, as I figured M$ would be all over [...]]]></description>
			<content:encoded><![CDATA[<p>I have settled on <a href="http://weblogs.asp.net/scottgu/archive/2007/01/23/asp-net-ajax-1-0-released.aspx">ASP.NET AJAX 1.0</a>.  Why you ask?  Well for many reasons!  One, it is written well.  Lacks all the visual effects, but seriously, who needs those?  It is fast, as it uses JSON, and that is a MAJOR surprise, as I figured M$ would be all over using XML.  Secondly, if you pair it up with <a href="http://codeplex.com/phpmsajax">PHP for Microsoft AJAX</a> it just flat out works nicely and costs little effort to write scripts for!</p>
<p>I wrote a few sample scripts using it in less than 5 minutes!  5 minutes!!  I cannot stress that enough.  I was amazed at the type of complexity I could write in just a few minutes of using it.  Now, I am not a &#8220;big&#8221; M$ fan, but I am willing to give credit when due, and they deserve credit for this.  I am truly pleased with the fact it works in Firefox, it works in IE, and it probably works in Opera (though I haven&#8217;t tested it).  It has files for all languages, to handle currencies, dates, etc.  Totally amazing.</p>
<p>I have so many plans on how to use this to perform more advance functionality in several of my applications and best of all, I didn&#8217;t have to write my own XmlHttpRequest methods.</p>
]]></content:encoded>
			<wfw:commentRss>http://cpradio.org/code/javascript/ajax-search-is-over/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ajax Search</title>
		<link>http://cpradio.org/personal/ajax-search/</link>
		<comments>http://cpradio.org/personal/ajax-search/#comments</comments>
		<pubDate>Fri, 26 Jan 2007 02:11:26 +0000</pubDate>
		<dc:creator>cpradio</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://cpradio.org/personal/ajax-search/</guid>
		<description><![CDATA[I am searching for a good ajax library to use in several of my applications.  I have heard about Prototype, Mootools, Dojo, etc but which one does the trick and does it well?  I tried Dojo a while back and never really got the hang of its layout.  Connecting events to the [...]]]></description>
			<content:encoded><![CDATA[<p>I am searching for a good ajax library to use in several of my applications.  I have heard about Prototype, Mootools, Dojo, etc but which one does the trick and does it well?  I tried Dojo a while back and never really got the hang of its layout.  Connecting events to the controls felt awkward and not very clear.  I have seem demos of Prototype and Mootools, and though they look cool, I have not had any experience with them.</p>
<p>At work, I write my own Ajax utilities.  Primarily because we run .NET v1.1, and it is just FREAKIN&#8217; easy to serialize a class straight into XML than write methods to output JSON.  So, if you didn&#8217;t figure it out yet, I wrote prototypes in JavaScript to read the XML and make useable objects in JavaScript that could easily be handled.  This process seems to be a bit slow, and though its effective, its costly to wait 5 seconds for the process to finish.</p>
<p>So why don&#8217;t I just write my own for my upcoming applications?  Well the difference is, the upcoming applications are in PHP.  PHP does not have nice ways of serializing directly into XML, so that is less of a reason for continuing my current approach.  Plus, with it taking 5 seconds to run, it kinda seems like its slow.  I visit many sites whose Ajax runs much quicker than that.</p>
<p>So let&#8217;s hear it!  Tell me which Ajax framework works best for you, what are its&#8217; strengths, its&#8217; weaknesses?  Leave nothing to the imagination.</p>
]]></content:encoded>
			<wfw:commentRss>http://cpradio.org/personal/ajax-search/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Top Secret Project</title>
		<link>http://cpradio.org/personal/top-secret-project/</link>
		<comments>http://cpradio.org/personal/top-secret-project/#comments</comments>
		<pubDate>Tue, 21 Nov 2006 03:04:40 +0000</pubDate>
		<dc:creator>cpradio</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://cpradio.org/2006/11/20/top-secret-project/</guid>
		<description><![CDATA[So, I have been working on a new project lately, and it is looking promising.Â  Of course, all I have done is 92% of the Table Schematics, 92% of the base classes, and 92% of the base class XML schema&#8217;s, (if you didn&#8217;t realize, that means 22 of the 24 tables are design, 22 of [...]]]></description>
			<content:encoded><![CDATA[<p>So, I have been working on a new project lately, and it is looking promising.Â  Of course, all I have done is 92% of the Table Schematics, 92% of the base classes, and 92% of the base class XML schema&#8217;s, (if you didn&#8217;t realize, that means 22 of the 24 tables are design, 22 of those 24 tables have their classes defined [just variables and constructors at this point], and 22 of those 24 tables have their database schema written in an XML file).</p>
<p>I am not going to go into a lot of detail over what the project is about or its purpose, but lets just say it will <strong><em>ROCK!</em></strong>Â  I have been working on the schematics for the past 16 days, and with only two tables away, I am looking to get a few developers who may wish to contribute.</p>
<p>If the need is there, I will setup a SVN repository on this site.</p>
<p>To give you an idea on what type of help I will be needing, here are a few specs of the application so far:</p>
<ol>
<li>Entirely Object-Oriented</li>
<li>Database interaction is inherited by all of the other classes</li>
<li>The Database class inherits the Error handling class, to ensure all error handling is done in the same fashion.</li>
<li>Design templates to direct the output of the pages is a REQUIREMENT, whether that templating will follow the footsteps of cpCommerce or go a different direction is still up in the air.</li>
</ol>
<p>So basically, I am looking for several programmers with OO experience in PHP, though any OO experience in any language is likely to be beneficial.Â  I will be looking for a few Graphic designers to design templates for the system.Â  Looking for something sleek and fast loading.Â  Knowledge of CSS and XHTML is preferred.</p>
<p>If you are interested, leave a comment.Â  I will be checking it from time to time and when enough leave a remark, I will setup the repository and get in contact with each person.</p>
<p>Oh, and the name is &#8220;kiosk&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://cpradio.org/personal/top-secret-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.276 seconds -->
