<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CE8NSXc6eSp7ImA9WhVTEEw.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403</id><updated>2012-02-23T10:01:38.911-06:00</updated><category term="Command Line" /><category term="Network Fundamentals" /><category term="C++ Programming" /><category term="Sociology" /><category term="CSS" /><category term="Startup News" /><category term="Physics" /><category term="Music" /><category term="Prose" /><category term="Devices" /><category term="Culture" /><category term="Photography" /><category term="Apple Programming" /><category term="Math" /><category term="Art" /><category term="Information Security" /><category term="Science" /><category term="Apple" /><category term="Java" /><category term="JavaScript Programming" /><category term="Objective C" /><category term="JSP Programming" /><category term="iPhone Programming" /><category term="Psychology" /><category term="Blogging" /><category term="Videos" /><category term="Computer Tricks" /><category term="Web Design" /><category term="Rants" /><category term="Poetry" /><category term="Mac OS X" /><category term="PHP Programming" /><category term="History" /><category term="Kliqd" /><category term="Programming Design" /><category term="SVN" /><category term="Health" /><category term="News" /><category term="Database Programming" /><category term="Blender 3D" /><category term="Web Analytics" /><title>Experiment Garden</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://www.experimentgarden.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>184</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/ExperimentGarden" /><feedburner:info uri="experimentgarden" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>ExperimentGarden</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;CEIAQHY8eCp7ImA9WhRaEk4.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-4229634208696390737</id><published>2012-02-14T09:15:00.001-06:00</published><updated>2012-02-14T09:15:41.870-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-14T09:15:41.870-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="News" /><title>TV News is Ridiculous Compared to Internet News</title><content type="html">Today while sitting in a waiting room I found myself watching CNN on the waiting room television, and what I saw got me thinking about the difference between television news and Internet news.&lt;br /&gt;
&lt;br /&gt;
The first and most major difference is freedom of choice. If I am looking for news online I can chose which articles I want to read. Television news just feeds a constant stream of regurgitated pop culture drivel mixed in with the legitimate news about world developments. There is no way to skip the noise as you can online.&lt;br /&gt;
&lt;br /&gt;
The second major factor is the quality of the news. The television news I just saw was ridiculously shallow. They literally spent about 4-5 minutes speculating about the cause of Whitney Houston's death. When the segment was over I thought back about what they said and realized that there was not one useful fact or insight in what they said. It was all what ifs and possibilities. This segment was followed by "breaking" news about developments in heart repair using stem cells. I read this breaking news three days ago on the Internet and the online article went into much better detail.&lt;br /&gt;
&lt;br /&gt;
Last but not least is ads. Internet ads don't interrupt you completely. They sit in the page and although some sites have ads inserted into text, or animated ads that are distracting, Internet ads are in no way as intrusive as television ads which waste your time by completely changing the topic.&lt;br /&gt;
&lt;br /&gt;
I don't understand how television news plans to stay alive. If I can absorb news on the Internet faster, with fewer distracting ads, and with the freedom to chose which topics I want to read then what does television have to offer? News anchors? Most of the time I can't stand their personalities and clearly opinion laced interview language.&lt;br /&gt;
&lt;br /&gt;
Compared with television news, Internet news is much more effective for getting real, timely news, with much more freedom of selection.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator"style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-L4rjxuGpTUA/Tzp6kNue-II/AAAAAAAACew/rWVMPULfYl8/s640/blogger-image-634419757.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://lh5.googleusercontent.com/-L4rjxuGpTUA/Tzp6kNue-II/AAAAAAAACew/rWVMPULfYl8/s640/blogger-image-634419757.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-4229634208696390737?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=mhYo9910AlE:YxswBIBGGaU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=mhYo9910AlE:YxswBIBGGaU:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=mhYo9910AlE:YxswBIBGGaU:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/mhYo9910AlE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/4229634208696390737/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2012/02/tv-news-is-ridiculous-compared-to.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/4229634208696390737?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/4229634208696390737?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/mhYo9910AlE/tv-news-is-ridiculous-compared-to.html" title="TV News is Ridiculous Compared to Internet News" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-L4rjxuGpTUA/Tzp6kNue-II/AAAAAAAACew/rWVMPULfYl8/s72-c/blogger-image-634419757.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.experimentgarden.com/2012/02/tv-news-is-ridiculous-compared-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04BR3o9eCp7ImA9WhdSGU0.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-8855587936226986290</id><published>2011-07-28T20:12:00.000-05:00</published><updated>2011-07-28T20:12:36.460-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-28T20:12:36.460-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Rants" /><title>AT&amp;T Sucks, and now it is ruining T-Mobile too.</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-VRAMymWjRcY/TjIHclydP9I/AAAAAAAACes/0rzkQ0XDPUc/s1600/2525106786_5b24b4d59e.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-VRAMymWjRcY/TjIHclydP9I/AAAAAAAACes/0rzkQ0XDPUc/s1600/2525106786_5b24b4d59e.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
When I heard the announcement that AT&amp;amp;T was in plans to buy out T-Mobile my first reaction was dread. My favorite phone company, the one with the best plans I ever found was going to be bought out by the telephone company that I hate most. The acquisition came and passed without any apparent changes to T-Mobile, so mentally I let my guard down and deluded myself with the hope that things wouldn't change with T-Mobile.&lt;br /&gt;
&lt;br /&gt;
This week they did.&lt;br /&gt;
&lt;br /&gt;
Two months ago I purchased T-Mobile's mobile 4G hotspot, a convenient device which turns T-Mobile's 4G network into a wifi network that I can use to connect my laptop, or iPad to the speed of 4G internet wherever I go. It came with a great plan as well: if I bought the device I could pay month to month just like my phone, and never have to enter a contract. This particular type of plan has always appealed greatly to me because I'm the type of person who would rather just buy the device outright and then pay for the service month to month rather than entering a two year contract.&lt;br /&gt;
&lt;br /&gt;
T-Mobile's hotspot plan sweetened the pot even further by giving me a discount since I was already a T-Mobile customer: I received a fairly significant 20% discount on the purchase of the device and every month I would receive a 20% discount on my bill.&lt;br /&gt;
&lt;br /&gt;
The service also offered 5 gigabyte and 10 gigabyte unlimited plans. The basic concept is that if you sign up for the 5 gigabyte plan you get 5 gigabytes of data at the full download speed of 4G, and then after that your service is not cut off but it is significantly rate limited.&lt;br /&gt;
&lt;br /&gt;
I set my device up with the 5 gigabyte plan, planning to try it out and see if the rate limiting would affect me enough for me to need to sign up for the better plan.&lt;br /&gt;
&lt;br /&gt;
Fast forward two months and I discover that I need the 10 gigabyte plan. The first month when the rate limiting kicked in I barely noticed it. Sure I couldn't stream YouTube videos anymore, but it wasn't that bad for web browsing and my web based work which mostly just involves transferring plain text code files too and from my local machine and the servers of &lt;a href="http://storydesk.com/"&gt;the startup&lt;/a&gt; I work for.&lt;br /&gt;
&lt;br /&gt;
But recently the rate limiting has increased greatly. This month when I surpassed 5 gigabytes of bandwidth due to Mac OS X downloading system updates the bandwidth slowed dramatically to a mere trickle of about 10-20 kbps.&amp;nbsp;So I headed to the local T-Mobile retail store, wallet at the ready, eager to give them my money for five extra gigabytes of data per month.&lt;br /&gt;
&lt;br /&gt;
Imagine my surprise when the customer service representative told me that there was no way they could increase my plan to the next level without making me sign up for a two year contract. Needless to say this did not appeal to me and I told him so. He proceeded to make a call, apparently to some higher up customer service center, and they also said there was nothing that could be done. I had to sign up for a two year contract.&lt;br /&gt;
&lt;br /&gt;
By the time the customer representative got off the phone I could see that he was even more frustrated than me. He told me that he was really irritated with the policy change, that it didn't make sense, and that he had already seen customers cancel their plans with T-Mobile over it. He said there was nothing he could do for me, and suggested that I call customer support myself, complain, and threaten to cancel my service as that was the only way that I might possibly be able to improve my plan without needing to sign a two year contract.&lt;br /&gt;
&lt;br /&gt;
So I did.&lt;br /&gt;
&lt;br /&gt;
I called T-Mobile customer support and explained what I needed: the 10 gigabyte per month plan which was advertised a mere two months ago when I bought my wireless hotspot and signed up for the 5 gigabyte plan. Once again the customer service agents explained that there was nothing they could do. In fact, one of them told me that if I wanted to change my cell phone plan I would also need to sign up for a two year contract. This is ridiculous. Historically T-Mobile has provided great flexible month to month plans. If I wanted to add more minutes I could very easily, and it was month to month.&lt;br /&gt;
&lt;br /&gt;
Now T-Mobile is quietly doing away with its convenient and economical month to month plans and trying to force all its customers into contracts. In the T-Mobile retail store, where my conversation was not being recorded and monitored, the frustrated T-Mobile customer service representative told me outright that they were trying to increase the number of contracts because of the AT&amp;amp;T buy out.&lt;br /&gt;
&lt;br /&gt;
And so the time has come for me to leave T-Mobile behind. Really, why would I stick with T-Mobile's plan when there are much better plans like a &lt;a href="http://www.clear.com/devices/details/id/64"&gt;CLEAR mobile plan&lt;/a&gt; for the same price:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style="background-repeat: no-repeat no-repeat; color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
&lt;li style="background-repeat: no-repeat no-repeat; color: #666666; margin-bottom: 0px; margin-left: 15px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Unlimited data usage – no extra usage charges&lt;/li&gt;
&lt;li style="background-repeat: no-repeat no-repeat; color: #666666; margin-bottom: 0px; margin-left: 15px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;No preset download speed cap&lt;/li&gt;
&lt;li style="background-repeat: no-repeat no-repeat; color: #666666; margin-bottom: 0px; margin-left: 15px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Upload speeds up to 1.5 Mbps&lt;/li&gt;
&lt;/ul&gt;
CLEAR offers me the same 4G internet, with no download speed cap no matter how much data I use. Best of all they offer the month to month service with no contract required, just like T-Mobile used to.&lt;br /&gt;
&lt;br /&gt;
I really don't understand the logic behind T-Mobile's change. If AT&amp;amp;T is pushing T-Mobile to ruin their plans and make them as bad as AT&amp;amp;T plans they are just going to lose customers to the providers that are now better, like CLEAR.&lt;br /&gt;
&lt;br /&gt;
So goodbye T-Mobile. I see no reason to stay with a service which won't let me increase my plan (hence paying you more money every month), without signing up for a two year contract. Probably the only reason they want me stuck in a two year contract is so that they can't lose me to the better service providers like CLEAR. With CLEAR I'll be able to use 10 gigabytes, or even 20 gigabytes of data if I need without having to worry about a download speed cap.&lt;br /&gt;
&lt;br /&gt;
For the time being I'll keep my T-Mobile cell phone plan because I am grandfathered in, but if it comes to a point where I need to adjust my cell phone plan there is no way I'm going to sign up for a two year contract. Once again there are better month to month plans that won't tie me into a contract.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;A message to AT&amp;amp;T and T-Mobile: If you want to keep your customers loyal to your service the way to do it is with exceptional service and great plans, not restrictive two year contracts. You are just shooting yourself in the foot.&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-8855587936226986290?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=zK1ssjHcOqQ:FX5zYlL-ZR4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=zK1ssjHcOqQ:FX5zYlL-ZR4:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=zK1ssjHcOqQ:FX5zYlL-ZR4:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/zK1ssjHcOqQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/8855587936226986290/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2011/07/at-sucks-and-now-it-is-ruining-t-mobile.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/8855587936226986290?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/8855587936226986290?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/zK1ssjHcOqQ/at-sucks-and-now-it-is-ruining-t-mobile.html" title="AT&amp;T Sucks, and now it is ruining T-Mobile too." /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-VRAMymWjRcY/TjIHclydP9I/AAAAAAAACes/0rzkQ0XDPUc/s72-c/2525106786_5b24b4d59e.jpg" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://www.experimentgarden.com/2011/07/at-sucks-and-now-it-is-ruining-t-mobile.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMGRX45fip7ImA9WhdTEUs.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-3013854054921173571</id><published>2011-07-08T18:07:00.000-05:00</published><updated>2011-07-08T18:07:04.026-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-08T18:07:04.026-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Command Line" /><category scheme="http://www.blogger.com/atom/ns#" term="Mac OS X" /><title>How to merge two directories on Mac OS X using the command line.</title><content type="html">On Mac OS X if you use Terminal to paste a folder to a location where another folder with the same name exists then that folder will be replaced by the folder you are pasting. But what if what you want to do instead is merge the files in the existing folder with the folder you are dropping?&lt;br /&gt;
&lt;br /&gt;
The easiest way to do this is to use &lt;b&gt;ditto&lt;/b&gt;, a command line tool for accomplishing this task. For this example imagine that we have two folders:&lt;br /&gt;
&lt;br /&gt;
Folder number one exists in your Downloads directory under the name "Backup" while the other exists in your Documents folder as "Work". You can use the following command to merge them:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ditto ~/Downloads/Backup ~/Documents/Work&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Note that the order is important. Files in the first folder which are different from files in the second folder will be replaced by their counterparts in the second folder. Files in the first folder which are not in the second folder will remain, while files in the second folder which are not in the first folder will be copied over.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-3013854054921173571?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=L9i8_bwy2Qc:T5JEHnkHKdk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=L9i8_bwy2Qc:T5JEHnkHKdk:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=L9i8_bwy2Qc:T5JEHnkHKdk:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/L9i8_bwy2Qc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/3013854054921173571/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2011/07/how-to-merge-two-directories-on-mac-os.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/3013854054921173571?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/3013854054921173571?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/L9i8_bwy2Qc/how-to-merge-two-directories-on-mac-os.html" title="How to merge two directories on Mac OS X using the command line." /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.experimentgarden.com/2011/07/how-to-merge-two-directories-on-mac-os.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4ARX8yfip7ImA9WhdTEUs.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-7198539216441204336</id><published>2011-07-08T17:09:00.000-05:00</published><updated>2011-07-08T17:09:04.196-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-08T17:09:04.196-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Mac OS X" /><category scheme="http://www.blogger.com/atom/ns#" term="SVN" /><title>Recursively remove .svn directories in Mac OS X using command line bash.</title><content type="html">If you want to remove all the .svn folders from a SVN repository to "uninstall" SVN from it, or clean it in preparation for deployment or making a tarball you can use the following simple line of bash script. This has been test and verified to work in Mac OS X Snow Leopard:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;i&gt;rm -rf `find . -type d -name .svn`&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-7198539216441204336?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=mRPz9dFUvQU:-tKPNtOz5O0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=mRPz9dFUvQU:-tKPNtOz5O0:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=mRPz9dFUvQU:-tKPNtOz5O0:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/mRPz9dFUvQU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/7198539216441204336/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2011/07/recursively-remove-svn-directories-in.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/7198539216441204336?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/7198539216441204336?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/mRPz9dFUvQU/recursively-remove-svn-directories-in.html" title="Recursively remove .svn directories in Mac OS X using command line bash." /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.experimentgarden.com/2011/07/recursively-remove-svn-directories-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0IESH04eCp7ImA9Wx9SEEg.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-5771058775345155209</id><published>2010-11-29T13:38:00.001-06:00</published><updated>2010-11-29T13:38:29.330-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-29T13:38:29.330-06:00</app:edited><title>Inverted Pendulum on Vimeo</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;iframe src="http://player.vimeo.com/video/2952236?portrait=0" frameborder="0" height="283" width="500"&gt;&lt;/iframe&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://vimeo.com/2952236"&gt;vimeo.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;This incredible robotic device can swing up a pendulum and balance it, even a pendulum that has a joint in the middle.&lt;/p&gt;&lt;/div&gt; &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://experimentgarden.com/inverted-pendulum-on-vimeo"&gt;Experiment Garden&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-5771058775345155209?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=blM-2BIqZGo:clx5rDmNcgA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=blM-2BIqZGo:clx5rDmNcgA:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=blM-2BIqZGo:clx5rDmNcgA:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/blM-2BIqZGo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/5771058775345155209/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2010/11/inverted-pendulum-on-vimeo.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/5771058775345155209?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/5771058775345155209?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/blM-2BIqZGo/inverted-pendulum-on-vimeo.html" title="Inverted Pendulum on Vimeo" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.experimentgarden.com/2010/11/inverted-pendulum-on-vimeo.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4MQ3o5fSp7ImA9Wx9TGUg.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-50250721045963187</id><published>2010-11-28T09:09:00.000-06:00</published><updated>2010-11-28T09:09:42.425-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-28T09:09:42.425-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript Programming" /><title>Top HTML5 Canvas Applications and Demos</title><content type="html">HTML5 promises a number of interesting improvements that will allow even more engaging web apps. One of these is the canvas element, which allows programmers to draw or process images using JavaScript. This article lists the top most interesting canvas applications and demos that I have found:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;a href="http://code.almeros.com/code-examples/water-effect-canvas/"&gt;Rippling Water Cavas Demo&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_bazwyKf2FDM/TPJqaAE81LI/AAAAAAAACdI/M7VyjrBsHVA/s1600/html-5.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="125" src="http://2.bp.blogspot.com/_bazwyKf2FDM/TPJqaAE81LI/AAAAAAAACdI/M7VyjrBsHVA/s200/html-5.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
In this demo a beautiful rippling water effect is drawn using the HTML 5 canvas element. The ripples can be triggered using the mouse to drag or click. Unfortunately this demo is a little slow. On my Macbook it ran at only 5 FPS in both Safari and Google Chrome.&lt;br /&gt;
&lt;div style="clear: both;"&gt;
&lt;/div&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;a href="http://www.effectgames.com/demos/canvascycle/"&gt;8-Bit Palette Color Cycling Canvas Demo&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_bazwyKf2FDM/TPJsJYFqvOI/AAAAAAAACdM/JKwU_Ef02tE/s1600/colour-cycle.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="125" src="http://3.bp.blogspot.com/_bazwyKf2FDM/TPJsJYFqvOI/AAAAAAAACdM/JKwU_Ef02tE/s200/colour-cycle.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
This very impressive canvas demo reimplements a trick used in the days of 256 color palettes in video games. Because these graphical effects were designed to run on very slow early computers they run excellently in the canvas element. The demo has a nice set of options such as zoom and blending mode adjustments.
&lt;br /&gt;
&lt;div style="clear: both;"&gt;
&lt;/div&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;a href="http://radikalfx.com/files/collage/demo.html"&gt;Online Collage Generator Implemented in Canvas&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_bazwyKf2FDM/TPJt5gmEqhI/AAAAAAAACdQ/LBhPpCTWMJU/s1600/dynamic-image-collage.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="125" src="http://3.bp.blogspot.com/_bazwyKf2FDM/TPJt5gmEqhI/AAAAAAAACdQ/LBhPpCTWMJU/s200/dynamic-image-collage.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
This canvas demo is a web app that helps you create an online collage. You can search for images to include and then adjust their rotation, shadows, and placement above another backdrop image.
&lt;br /&gt;
&lt;div style="clear: both;"&gt;
&lt;/div&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;a href="http://mugtug.com/sketchpad/"&gt;HTML 5 and Canvas Sketchpad Web Application&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_bazwyKf2FDM/TPJwV22pfqI/AAAAAAAACdY/CA8zKh6xmtE/s1600/sketchpad.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="125" src="http://1.bp.blogspot.com/_bazwyKf2FDM/TPJwV22pfqI/AAAAAAAACdY/CA8zKh6xmtE/s200/sketchpad.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
This impressive online painting and drawing application has the potential to be an online Photoshop. The interface is very well designed and the drawing canvas is fast and responsive to input and brush strokes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-50250721045963187?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=gsUw_iI2bNo:yP_PuUcm9cA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=gsUw_iI2bNo:yP_PuUcm9cA:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=gsUw_iI2bNo:yP_PuUcm9cA:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/gsUw_iI2bNo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/50250721045963187/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2010/11/top-html5-canvas-applications-and-demos.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/50250721045963187?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/50250721045963187?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/gsUw_iI2bNo/top-html5-canvas-applications-and-demos.html" title="Top HTML5 Canvas Applications and Demos" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_bazwyKf2FDM/TPJqaAE81LI/AAAAAAAACdI/M7VyjrBsHVA/s72-c/html-5.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.experimentgarden.com/2010/11/top-html5-canvas-applications-and-demos.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEECQHo6cCp7ImA9Wx9TGEQ.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-2232257643059805906</id><published>2010-11-27T15:17:00.001-06:00</published><updated>2010-11-27T15:17:41.418-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-27T15:17:41.418-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Photography" /><title>Pictures from Texas Renaissance Festival</title><content type="html">This is an index of pictures that I took at the 2010 Texas Renaissance Festival. Choose a category to view selected photographs from it:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://experimentgarden.blogspot.com/2010/11/music-at-texas-renaissance-festival.html"&gt;Music&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://experimentgarden.blogspot.com/2010/11/entertainment-at-texas-renaissance.html"&gt;Entertainment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://experimentgarden.blogspot.com/2010/11/cosplay-at-texas-renaissance-festival.html"&gt;Cosplay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://experimentgarden.blogspot.com/2010/11/buildings-at-texas-renaissance-festival.html"&gt;Buildings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://experimentgarden.blogspot.com/2010/11/shopping-at-texas-renaissance-festival.html"&gt;Shopping&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://experimentgarden.blogspot.com/2010/11/misc-pictures-from-texas-renaissance.html"&gt;Misc&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
Or you can &lt;a href="http://picasaweb.google.com/nathan.peck1/TexasRenaissanceFestival?authkey=Gv1sRgCPiM8a2csaeoSw#"&gt;view all the pictures&lt;/a&gt;, including many that didn't make it into my blog posts, in my public Google Picassa gallery.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-2232257643059805906?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=1imbKiJUEJc:7kilqeOCdAQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=1imbKiJUEJc:7kilqeOCdAQ:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=1imbKiJUEJc:7kilqeOCdAQ:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/1imbKiJUEJc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/2232257643059805906/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2010/11/pictures-from-texas-renaissance.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/2232257643059805906?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/2232257643059805906?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/1imbKiJUEJc/pictures-from-texas-renaissance.html" title="Pictures from Texas Renaissance Festival" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.experimentgarden.com/2010/11/pictures-from-texas-renaissance.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYAQH08eip7ImA9Wx9TGEQ.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-5963259556650891208</id><published>2010-11-27T15:09:00.000-06:00</published><updated>2010-11-27T15:09:01.372-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-27T15:09:01.372-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Photography" /><title>Shopping at Texas Renaissance Festival</title><content type="html">The Texas Renaissance Festival has shop after shop full of renaissance garments, shoes, hats, weapons, and anything else that you might need or want for cosplay. There are also plenty of shops selling household decorations, furniture, and other goods. The shop keepers dress in costumes, speak with English accents and ask for pounds not dollars.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFatK5yaCI/AAAAAAAAALQ/Venqen9LnwE/s640/DSC07918.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFatK5yaCI/AAAAAAAAALQ/Venqen9LnwE/s640/DSC07918.JPG" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFbFADXGdI/AAAAAAAAAak/K_QUdtrTfSM/s640/DSC07913.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFbFADXGdI/AAAAAAAAAak/K_QUdtrTfSM/s640/DSC07913.JPG" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFbK0L0gDI/AAAAAAAAAKY/LPU4zmpRJwU/s800/DSC07911.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFbK0L0gDI/AAAAAAAAAKY/LPU4zmpRJwU/s640/DSC07911.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFbwRra9qI/AAAAAAAAALo/ojKv6UuyBPE/s800/DSC07900.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFbwRra9qI/AAAAAAAAALo/ojKv6UuyBPE/s640/DSC07900.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFhpMUfLDI/AAAAAAAAATM/WHvmf73fWR0/s800/DSC07795.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFhpMUfLDI/AAAAAAAAATM/WHvmf73fWR0/s640/DSC07795.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFirWjlFEI/AAAAAAAAAVE/L9T4LLjLfRA/s800/DSC07774.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFirWjlFEI/AAAAAAAAAVE/L9T4LLjLfRA/s640/DSC07774.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_MVqWRBtBjOA/TPFjYlj_8MI/AAAAAAAAAWM/OT5lXfNXM-w/s640/DSC07759.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://3.bp.blogspot.com/_MVqWRBtBjOA/TPFjYlj_8MI/AAAAAAAAAWM/OT5lXfNXM-w/s640/DSC07759.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFjb8HTv0I/AAAAAAAAAWQ/Jl2qglH4Yz8/s640/DSC07758.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFjb8HTv0I/AAAAAAAAAWQ/Jl2qglH4Yz8/s640/DSC07758.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_MVqWRBtBjOA/TPFjez0J5oI/AAAAAAAAAWU/BEd9bCKo0TA/s640/DSC07757.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://3.bp.blogspot.com/_MVqWRBtBjOA/TPFjez0J5oI/AAAAAAAAAWU/BEd9bCKo0TA/s640/DSC07757.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFk-mnz2CI/AAAAAAAAAYo/FjUI3g6Y5OI/s640/DSC07725.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFk-mnz2CI/AAAAAAAAAYo/FjUI3g6Y5OI/s640/DSC07725.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFlEY8G8iI/AAAAAAAAAgg/O2hPkNV6YcI/s640/DSC07723.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFlEY8G8iI/AAAAAAAAAgg/O2hPkNV6YcI/s640/DSC07723.JPG" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-5963259556650891208?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=ocvFQ0iflvc:XQhbvI_OY8w:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=ocvFQ0iflvc:XQhbvI_OY8w:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=ocvFQ0iflvc:XQhbvI_OY8w:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/ocvFQ0iflvc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/5963259556650891208/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2010/11/shopping-at-texas-renaissance-festival.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/5963259556650891208?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/5963259556650891208?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/ocvFQ0iflvc/shopping-at-texas-renaissance-festival.html" title="Shopping at Texas Renaissance Festival" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFatK5yaCI/AAAAAAAAALQ/Venqen9LnwE/s72-c/DSC07918.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.experimentgarden.com/2010/11/shopping-at-texas-renaissance-festival.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYGSXYzcCp7ImA9Wx9TGEQ.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-3554390047711388558</id><published>2010-11-27T15:08:00.002-06:00</published><updated>2010-11-27T15:08:48.888-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-27T15:08:48.888-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Photography" /><title>Buildings at Texas Renaissance Festival</title><content type="html">All the buildings and shops at the Texas Renaissance Festival are designed to look like they could have come from medieval times. The shop lined streets beneath towering pine trees are beautiful from an architectural standpoint.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFaygjirOI/AAAAAAAAAJ4/73stV907Vuo/s800/DSC07917.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFaygjirOI/AAAAAAAAAJ4/73stV907Vuo/s640/DSC07917.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_MVqWRBtBjOA/TPFbXkF15QI/AAAAAAAAAKs/8bjqLZXDPyI/s800/DSC07907.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://3.bp.blogspot.com/_MVqWRBtBjOA/TPFbXkF15QI/AAAAAAAAAKs/8bjqLZXDPyI/s640/DSC07907.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFhsIFlL-I/AAAAAAAAATQ/RgqTK7U9658/s640/DSC07794.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFhsIFlL-I/AAAAAAAAATQ/RgqTK7U9658/s640/DSC07794.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFkxgI4eiI/AAAAAAAAAYU/vnoyNNwvcIM/s800/DSC07729.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFkxgI4eiI/AAAAAAAAAYU/vnoyNNwvcIM/s640/DSC07729.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFjS-_oZeI/AAAAAAAAAe0/KHD0tMiylFo/s640/DSC07761.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFjS-_oZeI/AAAAAAAAAe0/KHD0tMiylFo/s640/DSC07761.JPG" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_MVqWRBtBjOA/TPFjM0RMs5I/AAAAAAAAAV8/TCF-n4PsgG0/s800/DSC07763.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://3.bp.blogspot.com/_MVqWRBtBjOA/TPFjM0RMs5I/AAAAAAAAAV8/TCF-n4PsgG0/s640/DSC07763.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFk7lmNK5I/AAAAAAAAAYk/wgKuLAoxqQ4/s800/DSC07726.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFk7lmNK5I/AAAAAAAAAYk/wgKuLAoxqQ4/s640/DSC07726.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-3554390047711388558?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=GTIUnLvQcYA:1nwJwRxSwfA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=GTIUnLvQcYA:1nwJwRxSwfA:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=GTIUnLvQcYA:1nwJwRxSwfA:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/GTIUnLvQcYA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/3554390047711388558/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2010/11/buildings-at-texas-renaissance-festival.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/3554390047711388558?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/3554390047711388558?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/GTIUnLvQcYA/buildings-at-texas-renaissance-festival.html" title="Buildings at Texas Renaissance Festival" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFaygjirOI/AAAAAAAAAJ4/73stV907Vuo/s72-c/DSC07917.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.experimentgarden.com/2010/11/buildings-at-texas-renaissance-festival.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYFSXszfSp7ImA9Wx9TGEQ.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-6403284868107214543</id><published>2010-11-27T15:08:00.001-06:00</published><updated>2010-11-27T15:08:38.585-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-27T15:08:38.585-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Photography" /><title>Misc Pictures From Texas Renaissance Festival</title><content type="html">These are some of the other pictures which I thought were noteworthy, but didn't fit into one of the other categories.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFi6HgAGWI/AAAAAAAAAek/-gI_ZCVEtSc/s640/DSC07769.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFi6HgAGWI/AAAAAAAAAek/-gI_ZCVEtSc/s640/DSC07769.JPG" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFiRS-O30I/AAAAAAAAAeE/eW2wNH-w7Qw/s640/DSC07782.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFiRS-O30I/AAAAAAAAAeE/eW2wNH-w7Qw/s640/DSC07782.JPG" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFhSZv-j-I/AAAAAAAAASo/i6_xugUfl4U/s800/DSC07803.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFhSZv-j-I/AAAAAAAAASo/i6_xugUfl4U/s640/DSC07803.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFdJ2Wn-MI/AAAAAAAAANo/Cbkz8UbzmZ0/s800/DSC07873.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFdJ2Wn-MI/AAAAAAAAANo/Cbkz8UbzmZ0/s640/DSC07873.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFgCQUKy9I/AAAAAAAAAQ0/ZbWHXxZNzoo/s800/DSC07829.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFgCQUKy9I/AAAAAAAAAQ0/ZbWHXxZNzoo/s640/DSC07829.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFhg9_eTCI/AAAAAAAAAdU/P10vur4DHMk/s640/DSC07798.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFhg9_eTCI/AAAAAAAAAdU/P10vur4DHMk/s640/DSC07798.JPG" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-6403284868107214543?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=B9FSUuSkc_o:a3S78UP_s0M:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=B9FSUuSkc_o:a3S78UP_s0M:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=B9FSUuSkc_o:a3S78UP_s0M:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/B9FSUuSkc_o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/6403284868107214543/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2010/11/misc-pictures-from-texas-renaissance.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/6403284868107214543?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/6403284868107214543?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/B9FSUuSkc_o/misc-pictures-from-texas-renaissance.html" title="Misc Pictures From Texas Renaissance Festival" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFi6HgAGWI/AAAAAAAAAek/-gI_ZCVEtSc/s72-c/DSC07769.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.experimentgarden.com/2010/11/misc-pictures-from-texas-renaissance.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcMQXczfyp7ImA9Wx9TGEQ.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-5548066614274738135</id><published>2010-11-27T15:08:00.000-06:00</published><updated>2010-11-27T15:08:00.987-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-27T15:08:00.987-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Photography" /><title>Cosplay at Texas Renaissance Festival</title><content type="html">The cosplay was one of my favorite things about the Texas Renaissance Festival. The variety and attention to detail on the costumes amazed me. One man I talked to said he had been working on his costume and character for thirty years. It wasn't just people who worked there that were dressed up. It was also guests who love Renaissance culture and clothing.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFjh3Nh4RI/AAAAAAAAAe8/1rsXiJ2JYbs/s640/DSC07756.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFjh3Nh4RI/AAAAAAAAAe8/1rsXiJ2JYbs/s640/DSC07756.JPG" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFi9gCWFPI/AAAAAAAAAVc/euEJMrwOLzs/s800/DSC07768.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFi9gCWFPI/AAAAAAAAAVc/euEJMrwOLzs/s640/DSC07768.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFhx8I02NI/AAAAAAAAATc/sUASgmUEeM4/s800/DSC07792.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFhx8I02NI/AAAAAAAAATc/sUASgmUEeM4/s640/DSC07792.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFhj0pFafI/AAAAAAAAAdc/2bQoENdCUW8/s640/DSC07797.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFhj0pFafI/AAAAAAAAAdc/2bQoENdCUW8/s640/DSC07797.JPG" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_MVqWRBtBjOA/TPFg2FAg6HI/AAAAAAAAAaU/P4V6AxEMhXM/s640/DSC07812.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://3.bp.blogspot.com/_MVqWRBtBjOA/TPFg2FAg6HI/AAAAAAAAAaU/P4V6AxEMhXM/s640/DSC07812.JPG" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;i&gt;Yes, that is a segway that the man is riding.&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_MVqWRBtBjOA/TPFbOCyUKII/AAAAAAAAAKc/nVyC8QxzIkQ/s800/DSC07910.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://3.bp.blogspot.com/_MVqWRBtBjOA/TPFbOCyUKII/AAAAAAAAAKc/nVyC8QxzIkQ/s640/DSC07910.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_MVqWRBtBjOA/TPFdQi8EGTI/AAAAAAAAANw/0BDvjPwOA5o/s640/DSC07871.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://3.bp.blogspot.com/_MVqWRBtBjOA/TPFdQi8EGTI/AAAAAAAAANw/0BDvjPwOA5o/s640/DSC07871.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFdpqpOOGI/AAAAAAAAAOQ/EOfrIbZOVhM/s800/DSC07864.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFdpqpOOGI/AAAAAAAAAOQ/EOfrIbZOVhM/s640/DSC07864.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-5548066614274738135?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=MCyZxTTPclY:td9zou8V44A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=MCyZxTTPclY:td9zou8V44A:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=MCyZxTTPclY:td9zou8V44A:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/MCyZxTTPclY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/5548066614274738135/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2010/11/cosplay-at-texas-renaissance-festival.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/5548066614274738135?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/5548066614274738135?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/MCyZxTTPclY/cosplay-at-texas-renaissance-festival.html" title="Cosplay at Texas Renaissance Festival" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFjh3Nh4RI/AAAAAAAAAe8/1rsXiJ2JYbs/s72-c/DSC07756.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.experimentgarden.com/2010/11/cosplay-at-texas-renaissance-festival.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcAQ3YzfCp7ImA9Wx9TGEQ.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-7785405131471986973</id><published>2010-11-27T15:07:00.001-06:00</published><updated>2010-11-27T15:07:22.884-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-27T15:07:22.884-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Photography" /><title>Music at Texas Renaissance Festival</title><content type="html">These static images can't convey the sound of the music, or the motion of the dancers and musicians but I did my best to take pictures that would show the variety and atmosphere of the music.&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFZsXkaLEI/AAAAAAAAAIo/Gkr2eol5Zg4/s800/DSC07936.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFZsXkaLEI/AAAAAAAAAIo/Gkr2eol5Zg4/s640/DSC07936.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFaKDx0ZvI/AAAAAAAAAJE/wXOislGvrFI/s800/DSC07930.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFaKDx0ZvI/AAAAAAAAAJE/wXOislGvrFI/s640/DSC07930.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFaZA_lsxI/AAAAAAAAAJY/0LuajdcbTuo/s800/DSC07925.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFaZA_lsxI/AAAAAAAAAJY/0LuajdcbTuo/s640/DSC07925.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFdUPAXQYI/AAAAAAAAAN0/SVCNJgPmQg8/s800/DSC07870.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFdUPAXQYI/AAAAAAAAAN0/SVCNJgPmQg8/s640/DSC07870.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFbUlgO0DI/AAAAAAAAAKo/0-MR4r_sOWY/s800/DSC07908.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFbUlgO0DI/AAAAAAAAAKo/0-MR4r_sOWY/s640/DSC07908.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFdj_voPvI/AAAAAAAAAOE/FetjCqLHU3Y/s800/DSC07866.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFdj_voPvI/AAAAAAAAAOE/FetjCqLHU3Y/s640/DSC07866.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFhL3NdVlI/AAAAAAAAASg/VJiT9ll1zKs/s800/DSC07805.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFhL3NdVlI/AAAAAAAAASg/VJiT9ll1zKs/s640/DSC07805.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_MVqWRBtBjOA/TPFgpRPzn-I/AAAAAAAAARs/JtWYiJypiRo/s800/DSC07816.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://3.bp.blogspot.com/_MVqWRBtBjOA/TPFgpRPzn-I/AAAAAAAAARs/JtWYiJypiRo/s640/DSC07816.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFhCrMsbWI/AAAAAAAAAVw/IggEzKXURKw/s640/DSC07808.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFhCrMsbWI/AAAAAAAAAVw/IggEzKXURKw/s640/DSC07808.JPG" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFi3JvHS6I/AAAAAAAAAVU/hpIUnwVTkW8/s800/DSC07770.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFi3JvHS6I/AAAAAAAAAVU/hpIUnwVTkW8/s640/DSC07770.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFko8SK9_I/AAAAAAAAAYI/pPbEKIbbVXI/s800/DSC07732.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFko8SK9_I/AAAAAAAAAYI/pPbEKIbbVXI/s640/DSC07732.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-7785405131471986973?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=tOJLfzKk4Pg:i-vTX9hIcTw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=tOJLfzKk4Pg:i-vTX9hIcTw:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=tOJLfzKk4Pg:i-vTX9hIcTw:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/tOJLfzKk4Pg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/7785405131471986973/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2010/11/music-at-texas-renaissance-festival.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/7785405131471986973?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/7785405131471986973?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/tOJLfzKk4Pg/music-at-texas-renaissance-festival.html" title="Music at Texas Renaissance Festival" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFZsXkaLEI/AAAAAAAAAIo/Gkr2eol5Zg4/s72-c/DSC07936.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.experimentgarden.com/2010/11/music-at-texas-renaissance-festival.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcHRHg6eCp7ImA9Wx9TGEQ.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-2638564216180782022</id><published>2010-11-27T15:07:00.000-06:00</published><updated>2010-11-27T15:07:15.610-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-27T15:07:15.610-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Photography" /><title>Entertainment at Texas Renaissance Festival</title><content type="html">The entertainment at the Texas Renaissance Festival were many and varied, from comedy acts, to drama, acting, and stunts. Hopefully this photographs can give you a taste of the variety of things going on.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFjwQp1bNI/AAAAAAAAAWw/IphhqzJvl18/s800/DSC07751.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFjwQp1bNI/AAAAAAAAAWw/IphhqzJvl18/s640/DSC07751.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFcdKaZ0jI/AAAAAAAAAMs/FYmVqc4mwOI/s800/DSC07886.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFcdKaZ0jI/AAAAAAAAAMs/FYmVqc4mwOI/s640/DSC07886.JPG" width="640" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFcuvik2lI/AAAAAAAAANE/SJWXW8D8rB8/s800/DSC07881.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFcuvik2lI/AAAAAAAAANE/SJWXW8D8rB8/s640/DSC07881.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFd9W709GI/AAAAAAAAAOo/TCzsaDlW6iA/s800/DSC07858.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://2.bp.blogspot.com/_MVqWRBtBjOA/TPFd9W709GI/AAAAAAAAAOo/TCzsaDlW6iA/s640/DSC07858.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFePEDvC2I/AAAAAAAAAO4/JRV32Z-6LIc/s800/DSC07856.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFePEDvC2I/AAAAAAAAAO4/JRV32Z-6LIc/s640/DSC07856.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFeWJYT1sI/AAAAAAAAAaE/sclSowhjCpM/s512/DSC07854.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://1.bp.blogspot.com/_MVqWRBtBjOA/TPFeWJYT1sI/AAAAAAAAAaE/sclSowhjCpM/s640/DSC07854.JPG" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;i&gt;In the above picture the performer is graphically demonstrating why its not a good idea to run while holding scissors. I have no idea how he managed to insert this large pair of scissors up his nose. I don't want to know.&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_MVqWRBtBjOA/TPFgOBZCzSI/AAAAAAAAARE/JDHMT_1Ucrs/s800/DSC07825.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://3.bp.blogspot.com/_MVqWRBtBjOA/TPFgOBZCzSI/AAAAAAAAARE/JDHMT_1Ucrs/s640/DSC07825.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;I chose to put this picture under entertainment rather than music because the show was part miming act, and there was only one musician playing one instrument rather than a full band. The custom bell organ was extremely loud, but very beautiful sounding.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFkcyisugI/AAAAAAAAAf4/v1C0KyI2K6k/s640/DSC07736.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFkcyisugI/AAAAAAAAAf4/v1C0KyI2K6k/s640/DSC07736.JPG" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-2638564216180782022?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=6XROkYRuK-o:nqOyYXHGIq8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=6XROkYRuK-o:nqOyYXHGIq8:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=6XROkYRuK-o:nqOyYXHGIq8:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/6XROkYRuK-o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/2638564216180782022/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2010/11/entertainment-at-texas-renaissance.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/2638564216180782022?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/2638564216180782022?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/6XROkYRuK-o/entertainment-at-texas-renaissance.html" title="Entertainment at Texas Renaissance Festival" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_MVqWRBtBjOA/TPFjwQp1bNI/AAAAAAAAAWw/IphhqzJvl18/s72-c/DSC07751.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.experimentgarden.com/2010/11/entertainment-at-texas-renaissance.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQNRnc5fip7ImA9Wx9TGEU.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-1866948358172305736</id><published>2010-11-25T19:26:00.004-06:00</published><updated>2010-11-27T13:33:17.926-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-27T13:33:17.926-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Web Design" /><title>Firefox Button/Text Height and Padding Fix</title><content type="html">&lt;div class="posterous_autopost"&gt;
Recently in one of my web projects I ran across a frustrating bug in Firefox. When I defined a text input and a button input with the very same CSS styling rules they did not have the same height. Instead the button control appeared to be about two pixels taller than the input control:&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Safari:&lt;/strong&gt;&lt;br /&gt;
&lt;img height="40" src="http://posterous.com/getfile/files.posterous.com/temp-2010-11-25/mfIfpammtGAkmetvyBCyxJbIBkBGmFxrGlnpduIsFCwsraewGvBiBeawvzdu/safari-button-height.png.scaled500.png" width="438" /&gt; &lt;br /&gt;
&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;Firefox:&lt;/strong&gt;&lt;br /&gt;
&lt;img height="41" src="http://posterous.com/getfile/files.posterous.com/temp-2010-11-25/lFzyCFqnavwuBmqGrmFleaAakyFHzCgebasGEtnIaDqeydqxyxDiyIbfnFhu/firefox-button-height.png.scaled500.png" width="432" /&gt; &lt;br /&gt;
&lt;br /&gt;
Internet searches revealed numerous possible fixes, from adding a DOCTYPE to the page, to trying to find work arounds for line-height. Now of them worked. I finally tracked the problem down to a default CSS rule in Firefox that can easily be fixed using the following CSS code:&lt;br /&gt;
button::-moz-focus-inner{padding:0; border: none;}&lt;br /&gt;
&lt;br /&gt;
For some reason the default CSS stylesheets are set to add extra padding and an invisible transparent border to the inside of button controls, making them larger than text areas styled with the exact same CSS code. This makes absolutely no sense, but fortunately you can easily fix this by adding the above line of CSS to your stylesheet, or better yet add it to the CSS reset you use in all your web design work.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-1866948358172305736?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=MqT--j6KKVQ:JHkJgJcUeGo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=MqT--j6KKVQ:JHkJgJcUeGo:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=MqT--j6KKVQ:JHkJgJcUeGo:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/MqT--j6KKVQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/1866948358172305736/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2010/11/firefox-buttontext-height-and-padding.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/1866948358172305736?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/1866948358172305736?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/MqT--j6KKVQ/firefox-buttontext-height-and-padding.html" title="Firefox Button/Text Height and Padding Fix" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.experimentgarden.com/2010/11/firefox-buttontext-height-and-padding.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcHQHw4eip7ImA9WxFUE0Q.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-3095568737849269350</id><published>2010-06-24T09:33:00.001-05:00</published><updated>2010-06-24T09:33:51.232-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-24T09:33:51.232-05:00</app:edited><title>Basic Computer Networking Devices</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;p&gt;&lt;span style="font-size: medium;"&gt;&lt;strong&gt;NIC&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-06-24/FAniCkcAjcoktfgtiGcvJjGdAAFHusyFbIEwwFrvosAlcnuajFqBfocCjsIo/network-interface-card-nic.jpg.scaled500.jpg" width="300" height="338"/&gt; The NIC (Network Interface Card) is part of the host computer. It contains the MAC address, uniquely identifying the machine on the network. The NIC contains the data link network layer logic, and performs other basic functions of detecting and processing network communication at the lowest level.&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: medium;"&gt;&lt;strong&gt;Repeaters&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-06-24/fvBhytqlAeBBCGbFCIGmJclCabdlHyHBmosoivChJDlJcbpJxtrjkAjDzemw/network-repeater.jpg.scaled500.jpg" width="400" height="400"/&gt; Repeaters are devices which connect two physical wires. They are powered and boost the signal if it must travel over long physical distances. In the case of digital signals the repeater restores the signal, removing noise as well.&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: medium;"&gt;&lt;strong&gt;Hubs&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-06-24/mgafGoAnjsAByBwGfAgHbEthIzkGdtnicvgmHDqfzxsoiDeqFeDeskIJksim/netgear-network-hub.jpg.scaled500.jpg" width="280" height="280"/&gt; &lt;/p&gt;  &lt;p&gt;Hubs are non-intelligent network devices which do little more than connect wires together.  They operate on the physical layer only, and thus do not stop broadcast storms or prevent network collisions. Powered hubs also function as repeaters, boosting signals and cleaning digital signals.&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: medium;"&gt;&lt;strong&gt;Bridges&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;Bridges work on layer one. They interpret data frames, recording the MAC addresses on outgoing packets so that they can build a &lt;em&gt;bridging table&lt;/em&gt; that associates each MAC address to a port on the bridge. Bridges also read the MAC address on incoming data frames, then uses the table to send the frame through the correct port. If the incoming frame has an unknown MAC address then the bridge floods the frame to all ports.  Bridges are much slower than hubs because they store frames internally to read them before forwarding them.&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: medium;"&gt;&lt;strong&gt;Switches&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2010-06-24/jlcDfxczyoiHIkwFzGrgDzvAgmlgCctpDxsCDFzfFFboAletgwxofqlhqshd/cisco-network-switch.jpg.scaled1000.jpg'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-06-24/jlcDfxczyoiHIkwFzGrgDzvAgmlgCctpDxsCDFzfFFboAletgwxofqlhqshd/cisco-network-switch.jpg.scaled500.jpg" width="500" height="400"/&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Switches do everything that a bridge does, and more.  The main difference between a bridge and a switch is that switches use a variety of different higher level techniques to improve latency and reduce errors and collisions.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Store and Forward&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This switching technique stores incoming frames in a buffer, and does not forward it until the entire frame has been received. It also performs a CRC error check to ensure that the frame is valid. If it is not then it drops it, saving bandwidth and further limiting collisions by not forwarding an invalid frame. Unfortunately this technique is the slowest, because the switch has to wait for the entire frame. This technique is adopted from the technique used by bridges to forward frames, but with an added error check.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Cut Through&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This forwarding technique reads the incoming frame until it detects the destination MAC address and then immediately begins forwarding it. This is the fastest technique, but it does not allow error checking. In addition, this technique is more likely to cause network collisions.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Fragment Free&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This frame forwarding technique reads the first 64 bytes of the frame and then forwards the frame. On modern contention based Ethernet networks most network collisions happen within the first 64 bytes of the frame. As with cut through forwarding there is no error detection on the switch.  This technique offers high latency and also significantly limits collisions.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Adaptive Cut Through&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This hybrid technique detects the error rate on the connection.  If there are many errors and network collisions then it switches to store and forward technique.  If there are very few errors due to a high quality connection then it uses cut through technique.  This allows high latency on good connections, and fewer collisions and errors on bad connections.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Other Switch Functionality&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;More expensive switches may operate even higher up on &lt;a href="http://experimentgarden.com/the-osi-open-systems-interconnection-network"&gt;the OSI model&lt;/a&gt;, even up to the session or application layer to perform advanced statistical analysis and security functions.  Switches can also be used to create VLANs (virtual local area networks).  This technique allows groups of ports to be treated like a single LAN. This creates separate broadcast domains, stopping broadcast storms and improving security by preventing different VLANs from interfering with each other. In addition VLANs can be configured to operate across multiple switches that communicate via higher level routers. In a static VLAN each port is manually mapped to a specific VLAN. In a dynamic VLAN the ports determine which VLAN they belong to using a manually created database defining which MAC addresses are in which VLAN. This allows devices to be moved between ports without having to reconfigure the VLAN manually.&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: medium;"&gt;&lt;strong&gt;Routers&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2010-06-24/GIIfxhfhhkrEoyzmFrpAimiApFhgAcuhnypoFrFhEHcvkpxIttICewfiGutr/cisco-router-network-device.jpg.scaled1000.jpg'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-06-24/GIIfxhfhhkrEoyzmFrpAimiApFhgAcuhnypoFrFhEHcvkpxIttICewfiGutr/cisco-router-network-device.jpg.scaled500.jpg" width="500" height="168"/&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Routers operate at the &lt;a href="http://experimentgarden.com/the-osi-open-systems-interconnection-network"&gt;third layer of the OSI model&lt;/a&gt;.  They are used to connect multiple networks. Rather than using bridging tables of MAC addresses, they instead read the logical address from the packets. These logical addresses are stored in a &lt;em&gt;routing table&lt;/em&gt;. The advantage of using a router to connect two switches is that the router separates the two switches into two logical networks. This does even more to prevent collisions, improve security, and stop broadcast storms.&lt;/p&gt;  &lt;p&gt;Since the router is a level three device that communicates using packets it can be used to connect networks of different types, for example ethernet and token ring networks.&lt;/p&gt;  &lt;p&gt;Interior routers operate within an office, directing data between separate LANs.  Border routers connect interior LANs to WANs. Exterior routers connect WANs together, and are typically owned by ISPs.&lt;/p&gt;  &lt;p&gt;The most important functionality of routers is that they calculate what path network packets should take as they travel over the network. In static routing, paths are chosen be administrators manually. This only works in small offices and other interior routers because it does not keep track of changing conditions present in the exterior internet. However, static routing is extremely fast, so for a small interior network it makes a lot of sense. Dynamic routing is much better for large external networks, because it allows routers to communicate with each other to keep track of changing conditions on the network. This communication is designed to work automatically so that humans do not have to interfere.  However, this computation is vulnerable to much higher latency, however, so routers require much faster processors and better hardware than a switch or bridge.&lt;/p&gt;  &lt;p&gt;Three different routing protocols are used: distance vector, link state, and hybrid.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Distance Vector Routing Protocol&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This routing protocol tries to minimize the number of hops, or the number of routers to the destination. However it doesn't take into account the quality and speed of the connection. They are effective for small networks only. Routing Information Protocol (RIP) was an early distance vector routing protocol. It causes routers to communicate with each 30 seconds, and also limits the number of hops to 15, making RIP useless for modern internet. Border Gateway Protocol (BGB) has replaced RIP as the primary distance vector routing protocol used on border and exterior routers.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Link State Routing Protocol&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In this technique routers communicate with each other when there are changes. Every router maps the entire network independently. This allows every router to be much more flexible and capable of dealing with problems. OSPF (Open Shortest Path First) was an early link state routing protocol. Under this protocol there is no hop limitation. The most commonly used link state routing protocol is EIGRP (Enhanced Interior Gateway Routing Protocol). This protocol is a hybrid which combines distance vector and link state routing depending on the situation. It is useful for interior and border networks.&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: medium;"&gt;&lt;strong&gt;Brouters&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;Brouters can operate as either a switch or a bridge. Unlike a bridge which can only accept frames and read MAC addresses, and a router which can only accept packets and read IP addresses, a brouter can read either frames or packets and forward them accordingly.&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: medium;"&gt;&lt;strong&gt;Gateways&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;Gateways translate between different protocols, for example allowing Linux, Mac OS X, and Windows networks to communicate and share files. Gateways can help different email systems communicate with each other, translate voice data to data packets and vice versa, or work as a firewall. Gateways are primarily software that can be run on computers, servers, or routers.&lt;/p&gt; &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://experimentgarden.com/basic-computer-networking-devices"&gt;Experiment Garden&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-3095568737849269350?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=8MvVoCiNUQM:Fip50Qb0GsU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=8MvVoCiNUQM:Fip50Qb0GsU:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=8MvVoCiNUQM:Fip50Qb0GsU:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/8MvVoCiNUQM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/3095568737849269350/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2010/06/basic-computer-networking-devices.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/3095568737849269350?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/3095568737849269350?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/8MvVoCiNUQM/basic-computer-networking-devices.html" title="Basic Computer Networking Devices" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.experimentgarden.com/2010/06/basic-computer-networking-devices.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUAFRX04fSp7ImA9WxFUEk4.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-4204201705245419998</id><published>2010-06-22T14:08:00.001-05:00</published><updated>2010-06-22T14:08:34.335-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-22T14:08:34.335-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Videos" /><title>Education Crises Infographic Video</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;object data="http://vimeo.com/moogaloop.swf" type="application/x-shockwave-flash" height="281" width="500"&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf" /&gt;&lt;param name="flashvars" value="clip_id=12677264&amp;color=00adef&amp;fullscreen=1&amp;server=vimeo.com&amp;show_byline=1&amp;show_portrait=1&amp;show_title=1" /&gt;&lt;/object&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://vimeo.com/12677264"&gt;vimeo.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;This video is both an incredible piece of animated infographic art and a detailed look at the education crises faced in America.&lt;/p&gt;&lt;/div&gt; &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via web&lt;/a&gt;  from &lt;a href="http://experimentgarden.com/education-crises-infographic-video"&gt;Experiment Garden&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-4204201705245419998?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=9Ne6NGHj4Lo:64UTS-x2do4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=9Ne6NGHj4Lo:64UTS-x2do4:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=9Ne6NGHj4Lo:64UTS-x2do4:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/9Ne6NGHj4Lo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/4204201705245419998/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2010/06/education-crises-infographic-video.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/4204201705245419998?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/4204201705245419998?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/9Ne6NGHj4Lo/education-crises-infographic-video.html" title="Education Crises Infographic Video" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.experimentgarden.com/2010/06/education-crises-infographic-video.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIERHk5fip7ImA9WxFVFk8.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-7636614729350504658</id><published>2010-06-15T14:01:00.001-05:00</published><updated>2010-06-15T14:01:45.726-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-15T14:01:45.726-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Videos" /><title>High Altitude Weather Balloon Experiment</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;object data="http://vimeo.com/moogaloop.swf" type="application/x-shockwave-flash" height="281" width="500"&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf" /&gt;&lt;param name="flashvars" value="clip_id=12421661&amp;server=vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF" /&gt;&lt;/object&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://vimeo.com/12421661"&gt;vimeo.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;This fascinating video shows an experiment that involved a high altitude weather balloon and two cameras operating using some hacked together code.  The balloon reached a peak altitude of more than 20 miles, allowing the cameras to take some incredible video footage and still photos before the balloon burst and the cameras floated back down on a parachute.&lt;/p&gt;&lt;/div&gt; &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via web&lt;/a&gt;  from &lt;a href="http://experimentgarden.com/high-altitude-weather-balloon-experiment"&gt;Experiment Garden&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-7636614729350504658?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=NN-F5y1wo_E:sdn-pTHiqBQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=NN-F5y1wo_E:sdn-pTHiqBQ:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=NN-F5y1wo_E:sdn-pTHiqBQ:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/NN-F5y1wo_E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/7636614729350504658/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2010/06/high-altitude-weather-balloon.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/7636614729350504658?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/7636614729350504658?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/NN-F5y1wo_E/high-altitude-weather-balloon.html" title="High Altitude Weather Balloon Experiment" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.experimentgarden.com/2010/06/high-altitude-weather-balloon.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMHQno-fip7ImA9WxFVFk4.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-5458947163878229165</id><published>2010-06-15T13:34:00.002-05:00</published><updated>2010-06-15T15:07:13.456-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-15T15:07:13.456-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="CSS" /><title>Removing Blue Text Input Outline in Safari</title><content type="html">&lt;div class="posterous_autopost"&gt;
As much as I love the Safari browser, I really hate the fact that it adds a fuzzy blue border around text inputs. This can interfere with custom styling of text controls, and is just bad practice from my point of view. After a bit of searching and research I came up with the following technique for removing the border using CSS. No hacks are required and it cooperates well with other browsers as well.&lt;br /&gt;
&lt;div class="CodeRay"&gt;
&lt;div class="code"&gt;
&lt;pre&gt;&lt;span class="c"&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="c"&gt;/*&lt;/span&gt; &lt;span class="c"&gt;Get&lt;/span&gt; &lt;span class="c"&gt;rid&lt;/span&gt; &lt;span class="c"&gt;of&lt;/span&gt; &lt;span class="c"&gt;the&lt;/span&gt; &lt;span class="c"&gt;annoying&lt;/span&gt; &lt;span class="c"&gt;blue&lt;/span&gt; &lt;span class="c"&gt;outline&lt;/span&gt; &lt;span class="c"&gt;in&lt;/span&gt; &lt;span class="c"&gt;Safari&lt;/span&gt; &lt;span class="c"&gt;*/&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="ty"&gt;input&lt;/span&gt;&lt;span class="s"&gt;&lt;span class="dl"&gt;[&lt;/span&gt;&lt;span class="k"&gt;type=text&lt;/span&gt;&lt;span class="dl"&gt;]&lt;/span&gt;&lt;/span&gt;&lt;span class="ps"&gt;:focus&lt;/span&gt;,&lt;/pre&gt;
&lt;pre&gt;&lt;span class="ty"&gt;input&lt;/span&gt;&lt;span class="s"&gt;&lt;span class="dl"&gt;[&lt;/span&gt;&lt;span class="k"&gt;type=password&lt;/span&gt;&lt;span class="dl"&gt;]&lt;/span&gt;&lt;/span&gt;&lt;span class="ps"&gt;:focus&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="ps"&gt;&lt;/span&gt;{&lt;/pre&gt;
&lt;pre&gt;&lt;span class="ke"&gt;  outline&lt;/span&gt;: &lt;span class="fl"&gt;0&lt;/span&gt; &lt;span class="vl"&gt;none&lt;/span&gt;;&lt;/pre&gt;
&lt;pre&gt;}&lt;/pre&gt;
&lt;pre&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
I have added this simple CSS solution to my custom CSS reset kit.&lt;br /&gt;
&lt;div style="font-size: 10px;"&gt;
&lt;a href="http://posterous.com/"&gt;Posted via web&lt;/a&gt;  from &lt;a href="http://experimentgarden.com/removing-blue-text-input-outline-in-safari"&gt;Experiment Garden&lt;/a&gt; &lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-5458947163878229165?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=PV-_fmuTTYc:e6ZKNdt6E44:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=PV-_fmuTTYc:e6ZKNdt6E44:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=PV-_fmuTTYc:e6ZKNdt6E44:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/PV-_fmuTTYc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/5458947163878229165/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2010/06/removing-blue-text-input-outline-in.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/5458947163878229165?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/5458947163878229165?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/PV-_fmuTTYc/removing-blue-text-input-outline-in.html" title="Removing Blue Text Input Outline in Safari" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.experimentgarden.com/2010/06/removing-blue-text-input-outline-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEHQnszeSp7ImA9WxFVFUk.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-3766791072359910457</id><published>2010-06-14T14:27:00.001-05:00</published><updated>2010-06-14T14:27:13.581-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-14T14:27:13.581-05:00</app:edited><title>Loading JavaScript Functions Via AJAX</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;p&gt;This article will explain an AJAX technique that I am using in the development of my current startup project &lt;a href="http://kliqd.com"&gt;Kliqd&lt;/a&gt;. Those who have already been following the project will know that &lt;a href="http://experimentgarden.com/project-kliqd-technical-details"&gt;Kliqd makes extensive use of AJAX&lt;/a&gt;. Kliqd is designed so that as much of the HTML creation as possible happens on the client side. The client side JavaScript asks the server for data via JSON and then uses it to create the pages.&lt;/p&gt;  &lt;p&gt;Recently I came up with an idea for how to further streamline this AJAX technique and make it even more efficient. Most pages on Kliqd contain extra functionality that isn't going to be used every time the page is viewed. For example, if a user of Kliqd is viewing another user's profile they will see buttons to follow that user, befriend that user, or invite that user to an event. Each of those buttons is tied to JavaScript logic that is used to open modal dialogs so that members can send a friend request, send an event invitation, and so on.&lt;/p&gt;  &lt;p&gt;What if it was possible to load that JavaScript logic on the fly, when it was needed, rather than right from the start? So if a user opens a profile and never clicks the friend button, then the logic for opening the friend dialog will never be loaded. This would save bandwidth and time on the front end, causing the page to load faster and display faster. With this goal in mind I started experimenting with a way to load JavaScript functions via AJAX and execute them after the page is done loading.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: medium;"&gt;The First Experiment&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;First I created a basic page which loaded a *.js file via AJAX, used eval() to interpret it, and then called the function which was contained within the downloaded file:&lt;/p&gt;  &lt;p&gt;&lt;div class="data syntax type-html"&gt;  &lt;table cellspacing="0" cellpadding="0"&gt; &lt;tr&gt; &lt;td&gt; &lt;pre class="line_numbers"&gt;&lt;span rel="#L1" id="LID1"&gt;1&lt;/span&gt; &lt;span rel="#L2" id="LID2"&gt;2&lt;/span&gt; &lt;span rel="#L3" id="LID3"&gt;3&lt;/span&gt; &lt;span rel="#L4" id="LID4"&gt;4&lt;/span&gt; &lt;span rel="#L5" id="LID5"&gt;5&lt;/span&gt; &lt;span rel="#L6" id="LID6"&gt;6&lt;/span&gt; &lt;span rel="#L7" id="LID7"&gt;7&lt;/span&gt; &lt;span rel="#L8" id="LID8"&gt;8&lt;/span&gt; &lt;span rel="#L9" id="LID9"&gt;9&lt;/span&gt; &lt;span rel="#L10" id="LID10"&gt;10&lt;/span&gt; &lt;span rel="#L11" id="LID11"&gt;11&lt;/span&gt; &lt;span rel="#L12" id="LID12"&gt;12&lt;/span&gt; &lt;span rel="#L13" id="LID13"&gt;13&lt;/span&gt; &lt;span rel="#L14" id="LID14"&gt;14&lt;/span&gt; &lt;span rel="#L15" id="LID15"&gt;15&lt;/span&gt; &lt;span rel="#L16" id="LID16"&gt;16&lt;/span&gt; &lt;span rel="#L17" id="LID17"&gt;17&lt;/span&gt; &lt;span rel="#L18" id="LID18"&gt;18&lt;/span&gt; &lt;span rel="#L19" id="LID19"&gt;19&lt;/span&gt; &lt;span rel="#L20" id="LID20"&gt;20&lt;/span&gt; &lt;/pre&gt; &lt;/td&gt; &lt;td width="100%"&gt;  &lt;div class="highlight"&gt;&lt;pre /&gt;&lt;div class="line" id="LC1"&gt;&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC2"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;Ajax JavaScript Loader&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;    &lt;/div&gt;&lt;div class="line" id="LC4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;text/javascript&amp;#39;&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;jquery-1.3.2.min.js&amp;#39;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC5"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="line" id="LC6"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;text/javascript&amp;#39;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC7"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;$&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ajax&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;GET&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC8"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;1_loader.js&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC9"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;success&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;responseText&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC10"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC11"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nb"&gt;eval&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;responseText&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC12"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;internalFunction&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;  &lt;span class="c1"&gt;//This function defined in the JavaScript code loaded.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC13"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC14"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;});&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC15"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC16"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC17"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC18"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This is a basic test of loading JavaScript code via AJAX and then running it.&lt;/div&gt;&lt;div class="line" id="LC19"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC20"&gt;&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;/div&gt;&lt;/p&gt;  &lt;p&gt;&lt;div class="data syntax type-javascript"&gt;  &lt;table cellspacing="0" cellpadding="0"&gt; &lt;tr&gt; &lt;td&gt; &lt;pre class="line_numbers"&gt;&lt;span rel="#L1" id="LID1"&gt;1&lt;/span&gt; &lt;span rel="#L2" id="LID2"&gt;2&lt;/span&gt; &lt;span rel="#L3" id="LID3"&gt;3&lt;/span&gt; &lt;span rel="#L4" id="LID4"&gt;4&lt;/span&gt; &lt;/pre&gt; &lt;/td&gt; &lt;td width="100%"&gt;  &lt;div class="highlight"&gt;&lt;pre /&gt;&lt;div class="line" id="LC1"&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;internalFunction&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC2"&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC3"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;alert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Success.&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC4"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;/div&gt;&lt;/p&gt;  &lt;p&gt;This experiment worked, demonstrating that I could interpret a function using eval() and then call it. I immediately went on to create a second experiment, but I didn't realize that I had missed an important detail about the first experiment which would cause my second version to fail.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: medium;"&gt;The Second Experiment&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Feeling ambitious I created a more complicated piece of logic which allows the programmer to include JavaScript logic after the page has already finished loading. Requests to include JavaScript files are put into a buffer and handled one by one in the order they were issued. There is even a handler so that you can execute a piece of JavaScript or a function call after all the logic is loaded via AJAX. As I hinted earlier, though, the following code does not work. As you read through it, see if you can spot the subtle bug that I missed. Afterwards I will explain what went wrong:&lt;/p&gt;  &lt;p&gt;&lt;div class="data syntax type-html"&gt;  &lt;table cellspacing="0" cellpadding="0"&gt; &lt;tr&gt; &lt;td&gt; &lt;pre class="line_numbers"&gt;&lt;span rel="#L1" id="LID1"&gt;1&lt;/span&gt; &lt;span rel="#L2" id="LID2"&gt;2&lt;/span&gt; &lt;span rel="#L3" id="LID3"&gt;3&lt;/span&gt; &lt;span rel="#L4" id="LID4"&gt;4&lt;/span&gt; &lt;span rel="#L5" id="LID5"&gt;5&lt;/span&gt; &lt;span rel="#L6" id="LID6"&gt;6&lt;/span&gt; &lt;span rel="#L7" id="LID7"&gt;7&lt;/span&gt; &lt;span rel="#L8" id="LID8"&gt;8&lt;/span&gt; &lt;span rel="#L9" id="LID9"&gt;9&lt;/span&gt; &lt;span rel="#L10" id="LID10"&gt;10&lt;/span&gt; &lt;span rel="#L11" id="LID11"&gt;11&lt;/span&gt; &lt;span rel="#L12" id="LID12"&gt;12&lt;/span&gt; &lt;span rel="#L13" id="LID13"&gt;13&lt;/span&gt; &lt;span rel="#L14" id="LID14"&gt;14&lt;/span&gt; &lt;span rel="#L15" id="LID15"&gt;15&lt;/span&gt; &lt;span rel="#L16" id="LID16"&gt;16&lt;/span&gt; &lt;span rel="#L17" id="LID17"&gt;17&lt;/span&gt; &lt;span rel="#L18" id="LID18"&gt;18&lt;/span&gt; &lt;span rel="#L19" id="LID19"&gt;19&lt;/span&gt; &lt;span rel="#L20" id="LID20"&gt;20&lt;/span&gt; &lt;span rel="#L21" id="LID21"&gt;21&lt;/span&gt; &lt;span rel="#L22" id="LID22"&gt;22&lt;/span&gt; &lt;span rel="#L23" id="LID23"&gt;23&lt;/span&gt; &lt;span rel="#L24" id="LID24"&gt;24&lt;/span&gt; &lt;span rel="#L25" id="LID25"&gt;25&lt;/span&gt; &lt;span rel="#L26" id="LID26"&gt;26&lt;/span&gt; &lt;span rel="#L27" id="LID27"&gt;27&lt;/span&gt; &lt;span rel="#L28" id="LID28"&gt;28&lt;/span&gt; &lt;span rel="#L29" id="LID29"&gt;29&lt;/span&gt; &lt;span rel="#L30" id="LID30"&gt;30&lt;/span&gt; &lt;span rel="#L31" id="LID31"&gt;31&lt;/span&gt; &lt;span rel="#L32" id="LID32"&gt;32&lt;/span&gt; &lt;span rel="#L33" id="LID33"&gt;33&lt;/span&gt; &lt;span rel="#L34" id="LID34"&gt;34&lt;/span&gt; &lt;span rel="#L35" id="LID35"&gt;35&lt;/span&gt; &lt;span rel="#L36" id="LID36"&gt;36&lt;/span&gt; &lt;span rel="#L37" id="LID37"&gt;37&lt;/span&gt; &lt;span rel="#L38" id="LID38"&gt;38&lt;/span&gt; &lt;span rel="#L39" id="LID39"&gt;39&lt;/span&gt; &lt;span rel="#L40" id="LID40"&gt;40&lt;/span&gt; &lt;span rel="#L41" id="LID41"&gt;41&lt;/span&gt; &lt;span rel="#L42" id="LID42"&gt;42&lt;/span&gt; &lt;span rel="#L43" id="LID43"&gt;43&lt;/span&gt; &lt;span rel="#L44" id="LID44"&gt;44&lt;/span&gt; &lt;span rel="#L45" id="LID45"&gt;45&lt;/span&gt; &lt;span rel="#L46" id="LID46"&gt;46&lt;/span&gt; &lt;span rel="#L47" id="LID47"&gt;47&lt;/span&gt; &lt;span rel="#L48" id="LID48"&gt;48&lt;/span&gt; &lt;span rel="#L49" id="LID49"&gt;49&lt;/span&gt; &lt;span rel="#L50" id="LID50"&gt;50&lt;/span&gt; &lt;span rel="#L51" id="LID51"&gt;51&lt;/span&gt; &lt;span rel="#L52" id="LID52"&gt;52&lt;/span&gt; &lt;span rel="#L53" id="LID53"&gt;53&lt;/span&gt; &lt;span rel="#L54" id="LID54"&gt;54&lt;/span&gt; &lt;span rel="#L55" id="LID55"&gt;55&lt;/span&gt; &lt;span rel="#L56" id="LID56"&gt;56&lt;/span&gt; &lt;span rel="#L57" id="LID57"&gt;57&lt;/span&gt; &lt;span rel="#L58" id="LID58"&gt;58&lt;/span&gt; &lt;span rel="#L59" id="LID59"&gt;59&lt;/span&gt; &lt;span rel="#L60" id="LID60"&gt;60&lt;/span&gt; &lt;span rel="#L61" id="LID61"&gt;61&lt;/span&gt; &lt;span rel="#L62" id="LID62"&gt;62&lt;/span&gt; &lt;span rel="#L63" id="LID63"&gt;63&lt;/span&gt; &lt;span rel="#L64" id="LID64"&gt;64&lt;/span&gt; &lt;span rel="#L65" id="LID65"&gt;65&lt;/span&gt; &lt;span rel="#L66" id="LID66"&gt;66&lt;/span&gt; &lt;span rel="#L67" id="LID67"&gt;67&lt;/span&gt; &lt;span rel="#L68" id="LID68"&gt;68&lt;/span&gt; &lt;span rel="#L69" id="LID69"&gt;69&lt;/span&gt; &lt;span rel="#L70" id="LID70"&gt;70&lt;/span&gt; &lt;span rel="#L71" id="LID71"&gt;71&lt;/span&gt; &lt;span rel="#L72" id="LID72"&gt;72&lt;/span&gt; &lt;span rel="#L73" id="LID73"&gt;73&lt;/span&gt; &lt;span rel="#L74" id="LID74"&gt;74&lt;/span&gt; &lt;span rel="#L75" id="LID75"&gt;75&lt;/span&gt; &lt;span rel="#L76" id="LID76"&gt;76&lt;/span&gt; &lt;span rel="#L77" id="LID77"&gt;77&lt;/span&gt; &lt;span rel="#L78" id="LID78"&gt;78&lt;/span&gt; &lt;span rel="#L79" id="LID79"&gt;79&lt;/span&gt; &lt;span rel="#L80" id="LID80"&gt;80&lt;/span&gt; &lt;span rel="#L81" id="LID81"&gt;81&lt;/span&gt; &lt;span rel="#L82" id="LID82"&gt;82&lt;/span&gt; &lt;span rel="#L83" id="LID83"&gt;83&lt;/span&gt; &lt;span rel="#L84" id="LID84"&gt;84&lt;/span&gt; &lt;span rel="#L85" id="LID85"&gt;85&lt;/span&gt; &lt;span rel="#L86" id="LID86"&gt;86&lt;/span&gt; &lt;span rel="#L87" id="LID87"&gt;87&lt;/span&gt; &lt;span rel="#L88" id="LID88"&gt;88&lt;/span&gt; &lt;span rel="#L89" id="LID89"&gt;89&lt;/span&gt; &lt;span rel="#L90" id="LID90"&gt;90&lt;/span&gt; &lt;span rel="#L91" id="LID91"&gt;91&lt;/span&gt; &lt;span rel="#L92" id="LID92"&gt;92&lt;/span&gt; &lt;span rel="#L93" id="LID93"&gt;93&lt;/span&gt; &lt;span rel="#L94" id="LID94"&gt;94&lt;/span&gt; &lt;span rel="#L95" id="LID95"&gt;95&lt;/span&gt; &lt;span rel="#L96" id="LID96"&gt;96&lt;/span&gt; &lt;span rel="#L97" id="LID97"&gt;97&lt;/span&gt; &lt;span rel="#L98" id="LID98"&gt;98&lt;/span&gt; &lt;span rel="#L99" id="LID99"&gt;99&lt;/span&gt; &lt;span rel="#L100" id="LID100"&gt;100&lt;/span&gt; &lt;/pre&gt; &lt;/td&gt; &lt;td width="100%"&gt;  &lt;div class="highlight"&gt;&lt;pre /&gt;&lt;div class="line" id="LC1"&gt;&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC2"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;Ajax JavaScript Includer&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;    &lt;/div&gt;&lt;div class="line" id="LC4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;text/javascript&amp;#39;&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;jquery-1.3.2.min.js&amp;#39;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC5"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="line" id="LC6"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;text/javascript&amp;#39;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC7"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC8"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//The list of loaded resources.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC9"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;loaded&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Array&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC10"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC11"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//The list of resources that have yet to be loaded.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC12"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;loading&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Array&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC13"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC14"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//Whether or not we are currently loading a resource via AJAX.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC15"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;currentlyLoading&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC16"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC17"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;loadAjax&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;resourceUrl&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC18"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC19"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;$&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ajax&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;GET&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC20"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;resourceUrl&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC21"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;success&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;responseText&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC22"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC23"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//Set up the variables and functions loaded.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC24"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nb"&gt;eval&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;responseText&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC25"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC26"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//This item is loaded, remove from queue.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC27"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;loading&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;loading&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;slice&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;loading&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC28"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC29"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//Add it to the already loaded queue.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC30"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;loaded&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;loaded&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;resourceUrl&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC31"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC32"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//Now check the load queue for another item to load.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC33"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;loading&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC34"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC35"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//Load the first item in the queue via AJAX.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC36"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;loadAjax&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;loading&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC37"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC38"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="k"&gt;else&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC39"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC40"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//We are done loading logic via AJAX.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC41"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;currentlyLoading&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC42"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC43"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC44"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;});&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC45"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC46"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC47"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;include&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;resourceUrl&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC48"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC49"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//Check to see if this resource has already been loaded.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC50"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;loaded&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC51"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC52"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;loaded&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="nx"&gt;resourceURL&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC53"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC54"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC55"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC56"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC57"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC58"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//Store the in the loading queue.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC59"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;loading&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;loading&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;resourceUrl&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC60"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC61"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//Now check to see if we are already running an ajax request.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC62"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;currentlyLoading&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC63"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC64"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;//The current loading process will work its way through the queue.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC65"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC66"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC67"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;loadAjax&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;resourceUrl&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC68"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;currentlyLoading&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC69"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC70"&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC71"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//This makes it easy to execute a function after all items to be included are&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC72"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//loaded.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC73"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;waitForInclude&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;afterSafeFunction&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC74"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC75"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;loading&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC76"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC77"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;afterSafeFunction&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC78"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC79"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="k"&gt;else&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC80"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC81"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//Wait 100ms and then try again.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC82"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;setTimeout&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;waitForInclude(&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="nx"&gt;afterSafeFunction&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;)&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC83"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC84"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC85"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC86"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;include&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;2_setFoo.js&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC87"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;include&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;2_outputFoo.js&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC88"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC89"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;waitForInclude&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC90"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC91"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;setFoo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Set in ajax.&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC92"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;outputFoo&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC93"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;})&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC94"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC95"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC96"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC97"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC98"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This is a basic test of loading JavaScript code via AJAX and then running it.&lt;/div&gt;&lt;div class="line" id="LC99"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC100"&gt;&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;/div&gt;&lt;/p&gt;  &lt;p&gt;&lt;div class="data syntax type-javascript"&gt;  &lt;table cellspacing="0" cellpadding="0"&gt; &lt;tr&gt; &lt;td&gt; &lt;pre class="line_numbers"&gt;&lt;span rel="#L1" id="LID1"&gt;1&lt;/span&gt; &lt;span rel="#L2" id="LID2"&gt;2&lt;/span&gt; &lt;span rel="#L3" id="LID3"&gt;3&lt;/span&gt; &lt;span rel="#L4" id="LID4"&gt;4&lt;/span&gt; &lt;span rel="#L5" id="LID5"&gt;5&lt;/span&gt; &lt;span rel="#L6" id="LID6"&gt;6&lt;/span&gt; &lt;/pre&gt; &lt;/td&gt; &lt;td width="100%"&gt;  &lt;div class="highlight"&gt;&lt;pre /&gt;&lt;div class="line" id="LC1"&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;foo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;test&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC2"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="line" id="LC3"&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;setFoo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;bar&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC4"&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC5"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;foo&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nx"&gt;bar&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC6"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;/div&gt;&lt;/p&gt;  &lt;p&gt;&lt;div class="data syntax type-javascript"&gt;  &lt;table cellspacing="0" cellpadding="0"&gt; &lt;tr&gt; &lt;td&gt; &lt;pre class="line_numbers"&gt;&lt;span rel="#L1" id="LID1"&gt;1&lt;/span&gt; &lt;span rel="#L2" id="LID2"&gt;2&lt;/span&gt; &lt;span rel="#L3" id="LID3"&gt;3&lt;/span&gt; &lt;span rel="#L4" id="LID4"&gt;4&lt;/span&gt; &lt;/pre&gt; &lt;/td&gt; &lt;td width="100%"&gt;  &lt;div class="highlight"&gt;&lt;pre /&gt;&lt;div class="line" id="LC1"&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;outputFoo&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC2"&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC3"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;alert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;foo&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC4"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;/div&gt;&lt;/p&gt;  &lt;p&gt;At first glance it appears that nothing is wrong, but when the code is run, it says that the functions setFoo() and outputFoo() cannot be found. What is wrong? To understand what was wrong I had to understand the difference between the first experiment, which does work, and this second experiment. Simply put, the first experiment calls the function within the same code block in which it was created using eval(). The second experiment attempts to call the function from outside the code block. To demonstrate what I mean, notice the difference between the following code and the code in the first experiment:&lt;/p&gt;  &lt;p&gt;&lt;div class="data syntax type-html"&gt;  &lt;table cellspacing="0" cellpadding="0"&gt; &lt;tr&gt; &lt;td&gt; &lt;pre class="line_numbers"&gt;&lt;span rel="#L1" id="LID1"&gt;1&lt;/span&gt; &lt;span rel="#L2" id="LID2"&gt;2&lt;/span&gt; &lt;span rel="#L3" id="LID3"&gt;3&lt;/span&gt; &lt;span rel="#L4" id="LID4"&gt;4&lt;/span&gt; &lt;span rel="#L5" id="LID5"&gt;5&lt;/span&gt; &lt;span rel="#L6" id="LID6"&gt;6&lt;/span&gt; &lt;span rel="#L7" id="LID7"&gt;7&lt;/span&gt; &lt;span rel="#L8" id="LID8"&gt;8&lt;/span&gt; &lt;span rel="#L9" id="LID9"&gt;9&lt;/span&gt; &lt;span rel="#L10" id="LID10"&gt;10&lt;/span&gt; &lt;span rel="#L11" id="LID11"&gt;11&lt;/span&gt; &lt;span rel="#L12" id="LID12"&gt;12&lt;/span&gt; &lt;span rel="#L13" id="LID13"&gt;13&lt;/span&gt; &lt;span rel="#L14" id="LID14"&gt;14&lt;/span&gt; &lt;span rel="#L15" id="LID15"&gt;15&lt;/span&gt; &lt;span rel="#L16" id="LID16"&gt;16&lt;/span&gt; &lt;span rel="#L17" id="LID17"&gt;17&lt;/span&gt; &lt;span rel="#L18" id="LID18"&gt;18&lt;/span&gt; &lt;span rel="#L19" id="LID19"&gt;19&lt;/span&gt; &lt;span rel="#L20" id="LID20"&gt;20&lt;/span&gt; &lt;span rel="#L21" id="LID21"&gt;21&lt;/span&gt; &lt;span rel="#L22" id="LID22"&gt;22&lt;/span&gt; &lt;span rel="#L23" id="LID23"&gt;23&lt;/span&gt; &lt;span rel="#L24" id="LID24"&gt;24&lt;/span&gt; &lt;span rel="#L25" id="LID25"&gt;25&lt;/span&gt; &lt;span rel="#L26" id="LID26"&gt;26&lt;/span&gt; &lt;span rel="#L27" id="LID27"&gt;27&lt;/span&gt; &lt;span rel="#L28" id="LID28"&gt;28&lt;/span&gt; &lt;/pre&gt; &lt;/td&gt; &lt;td width="100%"&gt;  &lt;div class="highlight"&gt;&lt;pre /&gt;&lt;div class="line" id="LC1"&gt;&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC2"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;Ajax JavaScript Loader&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;    &lt;/div&gt;&lt;div class="line" id="LC4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;text/javascript&amp;#39;&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;jquery-1.3.2.min.js&amp;#39;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC5"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="line" id="LC6"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;text/javascript&amp;#39;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC7"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//Sadly internalFunction can not be accessed here, only with the scope of the&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC8"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//success function in which it was created using eval();&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC9"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;nonScope&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC10"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC11"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;internalFunction&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC12"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC13"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC14"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;$&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ajax&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;GET&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC15"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;1_loader.js&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC16"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;success&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;responseText&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC17"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC18"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nb"&gt;eval&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;responseText&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC19"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;internalFunction&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;  &lt;span class="c1"&gt;//This function defined in the JavaScript code loaded.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC20"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;nonScope&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC21"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC22"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;});&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC23"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC24"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC25"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC26"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This is a basic test of loading JavaScript code via AJAX and then running it.&lt;/div&gt;&lt;div class="line" id="LC27"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC28"&gt;&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;/div&gt;&lt;/p&gt;  &lt;p&gt;The eval() function creates the function within the scope of the AJAX response function. Essentially it creates a function within a function:&lt;/p&gt;  &lt;p&gt;&lt;div class="data syntax type-html"&gt;  &lt;table cellspacing="0" cellpadding="0"&gt; &lt;tr&gt; &lt;td&gt; &lt;pre class="line_numbers"&gt;&lt;span rel="#L1" id="LID1"&gt;1&lt;/span&gt; &lt;span rel="#L2" id="LID2"&gt;2&lt;/span&gt; &lt;span rel="#L3" id="LID3"&gt;3&lt;/span&gt; &lt;span rel="#L4" id="LID4"&gt;4&lt;/span&gt; &lt;span rel="#L5" id="LID5"&gt;5&lt;/span&gt; &lt;span rel="#L6" id="LID6"&gt;6&lt;/span&gt; &lt;span rel="#L7" id="LID7"&gt;7&lt;/span&gt; &lt;span rel="#L8" id="LID8"&gt;8&lt;/span&gt; &lt;span rel="#L9" id="LID9"&gt;9&lt;/span&gt; &lt;span rel="#L10" id="LID10"&gt;10&lt;/span&gt; &lt;span rel="#L11" id="LID11"&gt;11&lt;/span&gt; &lt;span rel="#L12" id="LID12"&gt;12&lt;/span&gt; &lt;span rel="#L13" id="LID13"&gt;13&lt;/span&gt; &lt;span rel="#L14" id="LID14"&gt;14&lt;/span&gt; &lt;span rel="#L15" id="LID15"&gt;15&lt;/span&gt; &lt;span rel="#L16" id="LID16"&gt;16&lt;/span&gt; &lt;span rel="#L17" id="LID17"&gt;17&lt;/span&gt; &lt;span rel="#L18" id="LID18"&gt;18&lt;/span&gt; &lt;span rel="#L19" id="LID19"&gt;19&lt;/span&gt; &lt;span rel="#L20" id="LID20"&gt;20&lt;/span&gt; &lt;span rel="#L21" id="LID21"&gt;21&lt;/span&gt; &lt;span rel="#L22" id="LID22"&gt;22&lt;/span&gt; &lt;span rel="#L23" id="LID23"&gt;23&lt;/span&gt; &lt;span rel="#L24" id="LID24"&gt;24&lt;/span&gt; &lt;span rel="#L25" id="LID25"&gt;25&lt;/span&gt; &lt;span rel="#L26" id="LID26"&gt;26&lt;/span&gt; &lt;span rel="#L27" id="LID27"&gt;27&lt;/span&gt; &lt;span rel="#L28" id="LID28"&gt;28&lt;/span&gt; &lt;span rel="#L29" id="LID29"&gt;29&lt;/span&gt; &lt;span rel="#L30" id="LID30"&gt;30&lt;/span&gt; &lt;span rel="#L31" id="LID31"&gt;31&lt;/span&gt; &lt;/pre&gt; &lt;/td&gt; &lt;td width="100%"&gt;  &lt;div class="highlight"&gt;&lt;pre /&gt;&lt;div class="line" id="LC1"&gt;&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC2"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;Ajax JavaScript Loader&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;    &lt;/div&gt;&lt;div class="line" id="LC4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;text/javascript&amp;#39;&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;jquery-1.3.2.min.js&amp;#39;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC5"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="line" id="LC6"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;text/javascript&amp;#39;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC7"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//Sadly internalFunction can not be accessed here, only with the scope of the&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC8"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//success function in which it was created using eval();&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC9"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;nonScope&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC10"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC11"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;internalFunction&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC12"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC13"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC14"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;$&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ajax&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;GET&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC15"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;1_loader.js&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC16"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;success&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;responseText&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC17"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC18"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;internalFunction&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC19"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC20"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;alert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Success.&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC21"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC22"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;internalFunction&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;  &lt;span class="c1"&gt;//This function defined in the JavaScript code loaded.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC23"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;nonScope&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC24"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC25"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;});&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC26"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC27"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC28"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC29"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This is a basic test of loading JavaScript code via AJAX and then running it.&lt;/div&gt;&lt;div class="line" id="LC30"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC31"&gt;&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;/div&gt;&lt;/p&gt;  &lt;p&gt;That function within a function can only be accessed within the function in which it was created. Once I identified the problem it was relatively easy to fix.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: medium;"&gt;The Third Experiment&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I made a few simple changes to my code from the second experiment so that rather than defining a function within a function, the loaded JavaScript defines its functions as members of a global object which serves as a type of namespace for all the logic loaded via AJAX:&lt;/p&gt;  &lt;p&gt;&lt;div class="data syntax type-html"&gt;  &lt;table cellspacing="0" cellpadding="0"&gt; &lt;tr&gt; &lt;td&gt; &lt;pre class="line_numbers"&gt;&lt;span rel="#L1" id="LID1"&gt;1&lt;/span&gt; &lt;span rel="#L2" id="LID2"&gt;2&lt;/span&gt; &lt;span rel="#L3" id="LID3"&gt;3&lt;/span&gt; &lt;span rel="#L4" id="LID4"&gt;4&lt;/span&gt; &lt;span rel="#L5" id="LID5"&gt;5&lt;/span&gt; &lt;span rel="#L6" id="LID6"&gt;6&lt;/span&gt; &lt;span rel="#L7" id="LID7"&gt;7&lt;/span&gt; &lt;span rel="#L8" id="LID8"&gt;8&lt;/span&gt; &lt;span rel="#L9" id="LID9"&gt;9&lt;/span&gt; &lt;span rel="#L10" id="LID10"&gt;10&lt;/span&gt; &lt;span rel="#L11" id="LID11"&gt;11&lt;/span&gt; &lt;span rel="#L12" id="LID12"&gt;12&lt;/span&gt; &lt;span rel="#L13" id="LID13"&gt;13&lt;/span&gt; &lt;span rel="#L14" id="LID14"&gt;14&lt;/span&gt; &lt;span rel="#L15" id="LID15"&gt;15&lt;/span&gt; &lt;span rel="#L16" id="LID16"&gt;16&lt;/span&gt; &lt;span rel="#L17" id="LID17"&gt;17&lt;/span&gt; &lt;span rel="#L18" id="LID18"&gt;18&lt;/span&gt; &lt;span rel="#L19" id="LID19"&gt;19&lt;/span&gt; &lt;span rel="#L20" id="LID20"&gt;20&lt;/span&gt; &lt;span rel="#L21" id="LID21"&gt;21&lt;/span&gt; &lt;span rel="#L22" id="LID22"&gt;22&lt;/span&gt; &lt;span rel="#L23" id="LID23"&gt;23&lt;/span&gt; &lt;span rel="#L24" id="LID24"&gt;24&lt;/span&gt; &lt;span rel="#L25" id="LID25"&gt;25&lt;/span&gt; &lt;span rel="#L26" id="LID26"&gt;26&lt;/span&gt; &lt;span rel="#L27" id="LID27"&gt;27&lt;/span&gt; &lt;span rel="#L28" id="LID28"&gt;28&lt;/span&gt; &lt;span rel="#L29" id="LID29"&gt;29&lt;/span&gt; &lt;span rel="#L30" id="LID30"&gt;30&lt;/span&gt; &lt;span rel="#L31" id="LID31"&gt;31&lt;/span&gt; &lt;span rel="#L32" id="LID32"&gt;32&lt;/span&gt; &lt;span rel="#L33" id="LID33"&gt;33&lt;/span&gt; &lt;span rel="#L34" id="LID34"&gt;34&lt;/span&gt; &lt;span rel="#L35" id="LID35"&gt;35&lt;/span&gt; &lt;span rel="#L36" id="LID36"&gt;36&lt;/span&gt; &lt;span rel="#L37" id="LID37"&gt;37&lt;/span&gt; &lt;span rel="#L38" id="LID38"&gt;38&lt;/span&gt; &lt;span rel="#L39" id="LID39"&gt;39&lt;/span&gt; &lt;span rel="#L40" id="LID40"&gt;40&lt;/span&gt; &lt;span rel="#L41" id="LID41"&gt;41&lt;/span&gt; &lt;span rel="#L42" id="LID42"&gt;42&lt;/span&gt; &lt;span rel="#L43" id="LID43"&gt;43&lt;/span&gt; &lt;span rel="#L44" id="LID44"&gt;44&lt;/span&gt; &lt;span rel="#L45" id="LID45"&gt;45&lt;/span&gt; &lt;span rel="#L46" id="LID46"&gt;46&lt;/span&gt; &lt;span rel="#L47" id="LID47"&gt;47&lt;/span&gt; &lt;span rel="#L48" id="LID48"&gt;48&lt;/span&gt; &lt;span rel="#L49" id="LID49"&gt;49&lt;/span&gt; &lt;span rel="#L50" id="LID50"&gt;50&lt;/span&gt; &lt;span rel="#L51" id="LID51"&gt;51&lt;/span&gt; &lt;span rel="#L52" id="LID52"&gt;52&lt;/span&gt; &lt;span rel="#L53" id="LID53"&gt;53&lt;/span&gt; &lt;span rel="#L54" id="LID54"&gt;54&lt;/span&gt; &lt;span rel="#L55" id="LID55"&gt;55&lt;/span&gt; &lt;span rel="#L56" id="LID56"&gt;56&lt;/span&gt; &lt;span rel="#L57" id="LID57"&gt;57&lt;/span&gt; &lt;span rel="#L58" id="LID58"&gt;58&lt;/span&gt; &lt;span rel="#L59" id="LID59"&gt;59&lt;/span&gt; &lt;span rel="#L60" id="LID60"&gt;60&lt;/span&gt; &lt;span rel="#L61" id="LID61"&gt;61&lt;/span&gt; &lt;span rel="#L62" id="LID62"&gt;62&lt;/span&gt; &lt;span rel="#L63" id="LID63"&gt;63&lt;/span&gt; &lt;span rel="#L64" id="LID64"&gt;64&lt;/span&gt; &lt;span rel="#L65" id="LID65"&gt;65&lt;/span&gt; &lt;span rel="#L66" id="LID66"&gt;66&lt;/span&gt; &lt;span rel="#L67" id="LID67"&gt;67&lt;/span&gt; &lt;span rel="#L68" id="LID68"&gt;68&lt;/span&gt; &lt;span rel="#L69" id="LID69"&gt;69&lt;/span&gt; &lt;span rel="#L70" id="LID70"&gt;70&lt;/span&gt; &lt;span rel="#L71" id="LID71"&gt;71&lt;/span&gt; &lt;span rel="#L72" id="LID72"&gt;72&lt;/span&gt; &lt;span rel="#L73" id="LID73"&gt;73&lt;/span&gt; &lt;span rel="#L74" id="LID74"&gt;74&lt;/span&gt; &lt;span rel="#L75" id="LID75"&gt;75&lt;/span&gt; &lt;span rel="#L76" id="LID76"&gt;76&lt;/span&gt; &lt;span rel="#L77" id="LID77"&gt;77&lt;/span&gt; &lt;span rel="#L78" id="LID78"&gt;78&lt;/span&gt; &lt;span rel="#L79" id="LID79"&gt;79&lt;/span&gt; &lt;span rel="#L80" id="LID80"&gt;80&lt;/span&gt; &lt;span rel="#L81" id="LID81"&gt;81&lt;/span&gt; &lt;span rel="#L82" id="LID82"&gt;82&lt;/span&gt; &lt;span rel="#L83" id="LID83"&gt;83&lt;/span&gt; &lt;span rel="#L84" id="LID84"&gt;84&lt;/span&gt; &lt;span rel="#L85" id="LID85"&gt;85&lt;/span&gt; &lt;span rel="#L86" id="LID86"&gt;86&lt;/span&gt; &lt;span rel="#L87" id="LID87"&gt;87&lt;/span&gt; &lt;span rel="#L88" id="LID88"&gt;88&lt;/span&gt; &lt;span rel="#L89" id="LID89"&gt;89&lt;/span&gt; &lt;span rel="#L90" id="LID90"&gt;90&lt;/span&gt; &lt;span rel="#L91" id="LID91"&gt;91&lt;/span&gt; &lt;span rel="#L92" id="LID92"&gt;92&lt;/span&gt; &lt;span rel="#L93" id="LID93"&gt;93&lt;/span&gt; &lt;span rel="#L94" id="LID94"&gt;94&lt;/span&gt; &lt;span rel="#L95" id="LID95"&gt;95&lt;/span&gt; &lt;span rel="#L96" id="LID96"&gt;96&lt;/span&gt; &lt;span rel="#L97" id="LID97"&gt;97&lt;/span&gt; &lt;span rel="#L98" id="LID98"&gt;98&lt;/span&gt; &lt;span rel="#L99" id="LID99"&gt;99&lt;/span&gt; &lt;span rel="#L100" id="LID100"&gt;100&lt;/span&gt; &lt;span rel="#L101" id="LID101"&gt;101&lt;/span&gt; &lt;span rel="#L102" id="LID102"&gt;102&lt;/span&gt; &lt;span rel="#L103" id="LID103"&gt;103&lt;/span&gt; &lt;span rel="#L104" id="LID104"&gt;104&lt;/span&gt; &lt;span rel="#L105" id="LID105"&gt;105&lt;/span&gt; &lt;span rel="#L106" id="LID106"&gt;106&lt;/span&gt; &lt;/pre&gt; &lt;/td&gt; &lt;td width="100%"&gt;  &lt;div class="highlight"&gt;&lt;pre /&gt;&lt;div class="line" id="LC1"&gt;&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC2"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;Ajax JavaScript Includer&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;    &lt;/div&gt;&lt;div class="line" id="LC4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;text/javascript&amp;#39;&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;jquery-1.3.2.min.js&amp;#39;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC5"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="line" id="LC6"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;text/javascript&amp;#39;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC7"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC8"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//We have to declare a global object that we will use as a namespace for storing&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC9"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//the eval loaded functions and variables, otherwise they will only exist within&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC10"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//the scope of the ajax response function, which is be useless.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC11"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;fooNamespace&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Object&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC12"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC13"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//The list of loaded resources.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC14"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;loaded&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Array&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC15"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC16"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//The list of resources that have yet to be loaded.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC17"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;loading&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Array&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC18"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC19"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//Whether or not we are currently loading a resource via AJAX.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC20"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;currentlyLoading&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC21"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC22"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;loadAjax&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;resourceUrl&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC23"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC24"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;$&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ajax&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;GET&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC25"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;resourceUrl&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC26"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;success&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;responseText&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC27"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC28"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//Set up the variables and functions loaded.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC29"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nb"&gt;eval&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;responseText&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC30"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC31"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//This item is loaded, remove from queue.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC32"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;loading&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;loading&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;slice&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;loading&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC33"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC34"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//Add it to the already loaded queue.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC35"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;loaded&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;loaded&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;resourceUrl&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC36"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC37"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//Now check the load queue for another item to load.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC38"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;loading&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC39"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC40"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//Load the first item in the queue via AJAX.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC41"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;loadAjax&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;loading&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC42"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC43"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="k"&gt;else&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC44"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC45"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//We are done loading logic via AJAX.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC46"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;currentlyLoading&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC47"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC48"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC49"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;});&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC50"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC51"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC52"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;include&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;resourceUrl&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC53"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC54"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//Check to see if this resource has already been loaded.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC55"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;loaded&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC56"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC57"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;loaded&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="nx"&gt;resourceURL&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC58"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC59"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC60"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC61"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC62"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC63"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//Store the in the loading queue.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC64"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;loading&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;loading&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;resourceUrl&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC65"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC66"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//Now check to see if we are already running an ajax request.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC67"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;currentlyLoading&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC68"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC69"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;//The current loading process will work its way through the queue.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC70"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC71"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC72"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;loadAjax&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;resourceUrl&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC73"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;currentlyLoading&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC74"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC75"&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC76"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//This makes it easy to execute a function after all items to be included are&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC77"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//loaded.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC78"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;waitForInclude&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;afterSafeFunction&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC79"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC80"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;loading&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC81"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC82"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;afterSafeFunction&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC83"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC84"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="k"&gt;else&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC85"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC86"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="c1"&gt;//Wait 100ms and then try again.&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC87"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;setTimeout&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;waitForInclude(&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="nx"&gt;afterSafeFunction&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;)&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC88"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC89"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC90"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC91"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;include&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;4_setFoo.js&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC92"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;include&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;4_outputFoo.js&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC93"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC94"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;waitForInclude&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC95"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC96"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;fooNamespace&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;setFoo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Foo was set using a function loaded via AJAX, and output using another function loaded via AJAX.&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC97"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;fooNamespace&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;outputFoo&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC98"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="p"&gt;})&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC99"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="line" id="LC100"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC101"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC102"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC103"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This is a basic test of loading JavaScript code via AJAX and then running it.&lt;/div&gt;&lt;div class="line" id="LC104"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC105"&gt;&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC106"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;/div&gt;&lt;/p&gt;  &lt;p&gt;&lt;div class="data syntax type-javascript"&gt;  &lt;table cellspacing="0" cellpadding="0"&gt; &lt;tr&gt; &lt;td&gt; &lt;pre class="line_numbers"&gt;&lt;span rel="#L1" id="LID1"&gt;1&lt;/span&gt; &lt;span rel="#L2" id="LID2"&gt;2&lt;/span&gt; &lt;span rel="#L3" id="LID3"&gt;3&lt;/span&gt; &lt;span rel="#L4" id="LID4"&gt;4&lt;/span&gt; &lt;span rel="#L5" id="LID5"&gt;5&lt;/span&gt; &lt;span rel="#L6" id="LID6"&gt;6&lt;/span&gt; &lt;/pre&gt; &lt;/td&gt; &lt;td width="100%"&gt;  &lt;div class="highlight"&gt;&lt;pre /&gt;&lt;div class="line" id="LC1"&gt;&lt;span class="nx"&gt;fooNamespace&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;foo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;Not yet set.&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC2"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="line" id="LC3"&gt;&lt;span class="nx"&gt;fooNamespace&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;setFoo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;bar&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC4"&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC5"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;fooNamespace&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;foo&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nx"&gt;bar&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC6"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;/div&gt;&lt;/p&gt;  &lt;p&gt;&lt;div class="data syntax type-javascript"&gt;  &lt;table cellspacing="0" cellpadding="0"&gt; &lt;tr&gt; &lt;td&gt; &lt;pre class="line_numbers"&gt;&lt;span rel="#L1" id="LID1"&gt;1&lt;/span&gt; &lt;span rel="#L2" id="LID2"&gt;2&lt;/span&gt; &lt;span rel="#L3" id="LID3"&gt;3&lt;/span&gt; &lt;span rel="#L4" id="LID4"&gt;4&lt;/span&gt; &lt;/pre&gt; &lt;/td&gt; &lt;td width="100%"&gt;  &lt;div class="highlight"&gt;&lt;pre /&gt;&lt;div class="line" id="LC1"&gt;&lt;span class="nx"&gt;fooNamespace&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;outputFoo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC2"&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC3"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="nx"&gt;alert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;fooNamespace&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;foo&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC4"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;/div&gt;&lt;/p&gt;  &lt;p&gt;This example finally works, proving that it is possible to load and run JavaScript functions after the page has finished loading. This means that it is possible to have on demand downloading of JavaScript code, preventing wasted bandwidth, and decreasing page load times by making it possible to download and display the page very quickly, then download the JavaScript logic as it is needed.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: medium;"&gt;Conclusion&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I put together a slightly more complicated example containing my AJAX JavaScript includer code as a library. To get started download the following sample code, which includes the library:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://sites.google.com/site/madewithblender/file-cabinet/JavaScriptIncludeExample.zip?attredirects=0&amp;amp;d=1"&gt;JavaScript Include Ajax Example&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The file include.js contains two simple functions that are all you need to get started:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;include(fileUrl);&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;This is fairly obvious. It downloads the file at &lt;em&gt;fileUrl &lt;/em&gt;via AJAX and executes its contents. Be sure to create functions as members of a global namespace as in my third experiment.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;waitForInclude(functionToExecute);&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;This function will execute &lt;em&gt;functionToExecute()&lt;/em&gt; after the queue of JavaScript files to download and execute has been completely processed.&lt;/p&gt;  &lt;p&gt;If you would like to use the code feel free to do so. A few ideas that could be added might be callback functions that could be used to display an AJAX spinner, or advance a progress bar while JavaScript logic loads in the background. Please let me know if you use my code on any interesting projects because I would love to keep track of whether or not this technique catches on, and if so who starts using it.&lt;/p&gt; &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via web&lt;/a&gt;  from &lt;a href="http://experimentgarden.com/loading-javascript-functions-via-ajax"&gt;Experiment Garden&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-3766791072359910457?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=uJwP-pvmrxE:sN0Q5XcdRKA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=uJwP-pvmrxE:sN0Q5XcdRKA:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=uJwP-pvmrxE:sN0Q5XcdRKA:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/uJwP-pvmrxE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/3766791072359910457/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2010/06/loading-javascript-functions-via-ajax.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/3766791072359910457?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/3766791072359910457?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/uJwP-pvmrxE/loading-javascript-functions-via-ajax.html" title="Loading JavaScript Functions Via AJAX" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><thr:total>5</thr:total><feedburner:origLink>http://www.experimentgarden.com/2010/06/loading-javascript-functions-via-ajax.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0AAQXcyfip7ImA9WxFVFU4.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-7204561304419134867</id><published>2010-06-14T13:22:00.001-05:00</published><updated>2010-06-14T13:22:20.996-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-14T13:22:20.996-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Kliqd" /><title>Project Kliqd - Early Designs, New Logo, New Landing Page</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;p&gt;This article is the third in a series covering the development of Kliqd, my current startup project.  The first article introduced &lt;a href="http://experimentgarden.com/project-kliqd"&gt;the focus and plan behind Kliqd&lt;/a&gt;. The second article covered some of the &lt;a href="http://experimentgarden.com/project-kliqd-technical-details"&gt;technical details of how it works behind the scenes&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;In this article I will show some of the early designs to show how Kliqd's appearance has evolved as the project has developed.  Kliqd started out with a very red color scheme.  The following screenshots show the changes made to the profile pages and the dialog for creating a new event:&lt;/p&gt;  &lt;p&gt;&lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2010-06-14/HwuDzecJmpCkBsErgezIopxbkaaqHBtABaCBbbnzJqmJHAzcDpDivJyExHsA/basicProfilePage.png.scaled1000.png'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-06-14/HwuDzecJmpCkBsErgezIopxbkaaqHBtABaCBbbnzJqmJHAzcDpDivJyExHsA/basicProfilePage.png.scaled500.png" width="500" height="353"/&gt;&lt;/a&gt; &lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2010-06-14/oayvyzswtHibhvGAohkrJHseevhAfHudsbrwEuxdvCqbbokFrmxiBvfAnnwc/profileWithButtons.png.scaled1000.png'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-06-14/oayvyzswtHibhvGAohkrJHseevhAfHudsbrwEuxdvCqbbokFrmxiBvfAnnwc/profileWithButtons.png.scaled500.png" width="500" height="344"/&gt;&lt;/a&gt; &lt;div&gt;&lt;a href='http://experimentgarden.com/project-kliqd-early-designs-new-logo-new-land'&gt;See and download the full gallery on posterous&lt;/a&gt;&lt;/div&gt;&lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2010-06-14/vdEwmIiAJjoJccjhBueIkclykqcDlhjodojHrxxfzHjCnpAogvFtgcJGajpH/popupBox.png.scaled1000.png'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-06-14/vdEwmIiAJjoJccjhBueIkclykqcDlhjodojHrxxfzHjCnpAogvFtgcJGajpH/popupBox.png.scaled500.png" width="500" height="195"/&gt;&lt;/a&gt; &lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2010-06-14/didyHoFFjmdrDsjGppBtlebcpqJdlcfmGhfsgurglaDEmctpbAzEwooaJuGu/submit_a_kliq.png.scaled1000.png'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-06-14/didyHoFFjmdrDsjGppBtlebcpqJdlcfmGhfsgurglaDEmctpbAzEwooaJuGu/submit_a_kliq.png.scaled500.png" width="500" height="278"/&gt;&lt;/a&gt; &lt;div&gt;&lt;a href='http://experimentgarden.com/project-kliqd-early-designs-new-logo-new-land'&gt;See and download the full gallery on posterous&lt;/a&gt;&lt;/div&gt;Recently however, we have decided to give Kliqd a more pleasing blue and gray theme.  Along with this change we are replacing the old red logo with this new one:&lt;/p&gt;  &lt;p&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-06-14/gkerbjysasqiItisBAwxDFoBuevwhtmtzzrHvoGqknbyrdfFchdsyaaerkrE/logo.png.scaled500.png" width="232" height="128"/&gt; As I convert each page over to the new blue and gray design I will share screenshots of the ongoing progress. In the meantime we have built a new landing page for the purchased domain.  You can submit your email address to be among the first to receive a notification when we launch the website:&lt;/p&gt;  &lt;p&gt;&lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2010-06-14/sccrkIIfHBidrGeIbfzJIwdyEGdiaApaqCrijHkiCqGelsfijfDbGiBgwbuH/emailNotification.png.scaled1000.png'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-06-14/sccrkIIfHBidrGeIbfzJIwdyEGdiaApaqCrijHkiCqGelsfijfDbGiBgwbuH/emailNotification.png.scaled500.png" width="500" height="318"/&gt;&lt;/a&gt; If you are interested in Project Kliqd then please visit &lt;a href="http://kliqd.com"&gt;the kliqd website&lt;/a&gt; and sign up to receive a notification on launch day, or &lt;a href="http://feeds.feedburner.com/ExperimentGardenPosterous"&gt;subscribe to this blog&lt;/a&gt; to keep up-to-date on the recent progress.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt; &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via web&lt;/a&gt;  from &lt;a href="http://experimentgarden.com/project-kliqd-early-designs-new-logo-new-land"&gt;Experiment Garden&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-7204561304419134867?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=MWTAonBDR4o:zV_9tVi2xgw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=MWTAonBDR4o:zV_9tVi2xgw:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=MWTAonBDR4o:zV_9tVi2xgw:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/MWTAonBDR4o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/7204561304419134867/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2010/06/project-kliqd-early-designs-new-logo.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/7204561304419134867?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/7204561304419134867?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/MWTAonBDR4o/project-kliqd-early-designs-new-logo.html" title="Project Kliqd - Early Designs, New Logo, New Landing Page" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.experimentgarden.com/2010/06/project-kliqd-early-designs-new-logo.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkIHRng-eyp7ImA9WxFVEks.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-1341806348178142407</id><published>2010-06-11T08:55:00.001-05:00</published><updated>2010-06-11T08:55:37.653-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-11T08:55:37.653-05:00</app:edited><title>Google Releases SSL Beta Version</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;p&gt;&lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2010-06-11/nxoqwybcepFzEAAnIjfwEmsgopEDbluFaGtpykpwhvdIiJGcvkbhkCjfDcrI/google_ssl.png.scaled1000.png'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-06-11/nxoqwybcepFzEAAnIjfwEmsgopEDbluFaGtpykpwhvdIiJGcvkbhkCjfDcrI/google_ssl.png.scaled500.png" width="500" height="299"/&gt;&lt;/a&gt; &lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2010-06-11/oBFvHdsIFlxcxHczgqdvtuEeoguzcoFyvBHGnezBlonudmljgazEyxoixfaa/google_ssl_url.png.scaled1000.png'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-06-11/oBFvHdsIFlxcxHczgqdvtuEeoguzcoFyvBHGnezBlonudmljgazEyxoixfaa/google_ssl_url.png.scaled500.png" width="500" height="22"/&gt;&lt;/a&gt; &lt;div&gt;&lt;a href='http://experimentgarden.com/google-releases-ssl-beta-version'&gt;See and download the full gallery on posterous&lt;/a&gt;&lt;/div&gt;It appears that Google is now making all searches use SSL for true privacy.  I don't see any other news about it on the internet so either I'm a beta tester of something new, or the mainstream media just hasn't caught up yet.&lt;/p&gt; &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via web&lt;/a&gt;  from &lt;a href="http://experimentgarden.com/google-releases-ssl-beta-version"&gt;Experiment Garden&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-1341806348178142407?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=Bwjs3sLUXZc:dvLzxqVrFj8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=Bwjs3sLUXZc:dvLzxqVrFj8:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=Bwjs3sLUXZc:dvLzxqVrFj8:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/Bwjs3sLUXZc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/1341806348178142407/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2010/06/google-releases-ssl-beta-version.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/1341806348178142407?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/1341806348178142407?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/Bwjs3sLUXZc/google-releases-ssl-beta-version.html" title="Google Releases SSL Beta Version" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.experimentgarden.com/2010/06/google-releases-ssl-beta-version.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUECR3k4fip7ImA9WxFVEUQ.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-9166936304577015345</id><published>2010-06-10T14:21:00.001-05:00</published><updated>2010-06-10T14:21:06.736-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-10T14:21:06.736-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Videos" /><title>The New Mediators - Designed Transparency in a Complex World</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;object data="http://vimeo.com/moogaloop.swf" type="application/x-shockwave-flash" height="281" width="500"&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf" /&gt;&lt;param name="flashvars" value="clip_id=4179118&amp;server=vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF" /&gt;&lt;/object&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://vimeo.com/4179118"&gt;vimeo.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;The New Mediators by Jonathan Jarvis makes the argument that our increasingly complicated world needs better ways to explain complex subjects in a transparent manner.  The video itself implements the very method it advocates and manages to express a tremendous amount of data and argument into just one minute and fifty-three seconds.  There is no sound, just animation, yet the ideas are clear.&lt;/p&gt;&lt;/div&gt; &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via web&lt;/a&gt;  from &lt;a href="http://experimentgarden.com/the-new-mediators-designed-transparency-in-a"&gt;Experiment Garden&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-9166936304577015345?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=yjXr6bMSXTg:1xVeP0SffGY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=yjXr6bMSXTg:1xVeP0SffGY:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=yjXr6bMSXTg:1xVeP0SffGY:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/yjXr6bMSXTg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/9166936304577015345/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2010/06/new-mediators-designed-transparency-in.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/9166936304577015345?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/9166936304577015345?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/yjXr6bMSXTg/new-mediators-designed-transparency-in.html" title="The New Mediators - Designed Transparency in a Complex World" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.experimentgarden.com/2010/06/new-mediators-designed-transparency-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQDQn0-cCp7ImA9WxFVEUQ.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-9021631903742910617</id><published>2010-06-10T13:06:00.002-05:00</published><updated>2010-06-10T13:09:33.358-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-10T13:09:33.358-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Kliqd" /><title>Project Kliqd - Technical Details</title><content type="html">&lt;div class="posterous_autopost"&gt;
&lt;br /&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
This is part two in a series of posts about Kliqd, my current startup project. &amp;nbsp;&lt;a href="http://experimentgarden.com/tag/kliqd" style="background: inherit; color: #fb9233; text-decoration: none;"&gt;The first article about Kliqd&lt;/a&gt;&amp;nbsp;introduced the basic idea and monetization scheme behind the startup. &amp;nbsp;This article will begin a discussion of the technical details of the project.&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;strong&gt;&lt;span style="font-size: medium;"&gt;Technical Specifications&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
I am most familiar with PHP so that is the server side language that I am using to develop Kliqd. Now I know that most startups seem to be using Ruby on Rails, Python, Perl, or other glamorous languages, but I favor the simple speed of PHP development. &amp;nbsp;In addition PHP is easily supported by all decent web hosts.&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
For database storage I am using MySQL. &amp;nbsp;Once again, MySQL is not an exciting solution like Cassandra, Redis, or other newer database systems. &amp;nbsp;However, I have designed Kliqd's database usage such that it can be easily converted to another database system such as Redis in the future. &amp;nbsp;I am using a hybrid database approach that combines key value pairs and relational tables. &amp;nbsp;Key values are used for storing extra data attached to user profiles, events, and other items which I may want to expand in the future. &amp;nbsp;Normal relational tables are used for storing some of the critical values that I use to sort and limit queries. &amp;nbsp;This allows me to take advantage of the querying power of MySQL relational tables while letting my key value tables provide room for expansion. &amp;nbsp;In the future the key value portion of Kliqd can be easily moved to Redis or another key value database system.&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;span style="font-size: medium;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;span style="font-size: medium;"&gt;&lt;strong&gt;Current State of the Code&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
In its current state as of today Kliqd is made up of 4848 lines of PHP, HTML, and JavaScript. &amp;nbsp;Over the years of developing PHP I have developed a coding process where I try as much as possible to separate my code into modules which can be reused if possible. &amp;nbsp;So for example, I have a file that contains the content for a login form, and another file that contains the content for a registration form. &amp;nbsp;To complement these I have a code module for the logic behind registering a new user, and another for checking a login attempt. &amp;nbsp;This makes it easy for me to throw together a new project using logic and content that I have already developed and tested in other projects.&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;strong&gt;&lt;span style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;strong&gt;&lt;span style="font-size: medium;"&gt;Server Side Logic Flow&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
When a user requests a page from Kliqd a simple .htaccess file rewrites requests such as...&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;em&gt;&lt;a href="http://localhost/folder/page" style="background: inherit; color: #fb9233; text-decoration: none;"&gt;http://localhost/folder/page&lt;/a&gt;&lt;/em&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;em&gt;&lt;/em&gt;...to a static file which serves all requests:&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&amp;nbsp;&lt;em&gt;&lt;a href="http://localhost/pageServer.php?major=folder&amp;amp;minor=page" style="background: inherit; color: #fb9233; text-decoration: none;"&gt;http://localhost/pageServer.php?major=folder&amp;amp;minor=page&lt;/a&gt;&lt;/em&gt;.&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
This allows me to use a sensible and beautiful permalink structure without needing to expose the ugly bits behind the scenes. &amp;nbsp;For example I can easily create a database of permalinks so that rather than having to see and ugly url like this...&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;em&gt;&lt;a href="http://localhost/index.php?q=event&amp;amp;id=345" style="background: inherit; color: #fb9233; text-decoration: none;"&gt;http://localhost/index.php?q=event&amp;amp;id=345&lt;/a&gt;&lt;/em&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
...users can instead see a clean url such as...&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;em&gt;&lt;a href="http://localhost/events/sxsw-hacker-news-meetup-austin" style="background: inherit; color: #fb9233; text-decoration: none;"&gt;http://localhost/events/sxsw-hacker-news-meetup-austin&lt;/a&gt;&lt;/em&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
This is desirable both from a UX point of view, but also from a SEO point of view. &amp;nbsp;URI's that have a sensible structure and keywords in them are more likely to be higher ranked in search engines.&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
Once the page is requested the page serving code can begin work. &amp;nbsp;First it checks to see if the request includes data that has been submitted by POST or GET. &amp;nbsp;If so it launches another code module which checks to see what type of data has been submitted. &amp;nbsp;Each form has a hidden input control which identifies which form the data came from. &amp;nbsp;In addition each AJAX request made from the client incorporates the same value. &amp;nbsp;Using a white list of acceptable form types, the code then includes the logic necessary to store or use the submitted input data, or serve the AJAX request.&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
Kliqd makes heavy use of AJAX to load data from the client side and build the page on the client side rather than the server side. &amp;nbsp;Data is encoded in JSON format on the server side and then sent to the client. &amp;nbsp;On the client side JavaScript simply does an&amp;nbsp;&lt;em&gt;eval()&lt;/em&gt;&amp;nbsp;on the results of the request, then uses the data to build the page.&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
This saves bandwidth by reducing the need for complete page refreshes. &amp;nbsp;For example, the page that lists local events includes a header and footer, CSS statements, and other extra chrome. &amp;nbsp;There is no need to refresh this entire page and all the chrome if the only thing that differs between two pages of event listings is the inner content. &amp;nbsp;Loading the data via AJAX and then building on the client side not only saves bandwidth by eliminating the need to needlessly refresh the page chrome, but it also saves server load. &amp;nbsp;Rather than having to generate HTML on the server side, the server can just send JSON and let the client take over from there.&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
Of course this results in more complicated JavaScript on the client side, but it is a reasonable tradeoff I believe.&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;span style="font-size: medium;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;span style="font-size: medium;"&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
This article has covered a few of the basic technical details about the way Kliqd operates. &amp;nbsp;To summarize Kliqd is written in PHP, and uses MySQL in a hybrid mix of relational database and key value. &amp;nbsp;Kliqd uses .htaccess to rewrite requests and make it possible to have good looking URL's that will perform better SEO-wise as well. &amp;nbsp;Last but definitely not least, Kliqd uses JSON encoding to send data to the client side via AJAX and build the page HTML on the client side rather than on the server side.&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 16px; line-height: 24px;"&gt;
Of course every programming project is a learning experience, so I would love to hear your thoughts and advice. &amp;nbsp;Feel free to comment if you have a suggestion or a question. &amp;nbsp;In future posts I will share some more details and code snippets. &amp;nbsp;Please&amp;nbsp;&lt;a href="http://feeds.feedburner.com/ExperimentGardenPosterous" style="background: inherit; color: #fb9233; text-decoration: none;"&gt;subscribe to Experiment Garden&lt;/a&gt;&amp;nbsp;if you would like to keep up-to-date on how my startup is progressing.&lt;/div&gt;
&lt;div style="color: #333333; font-family: Tahoma, Geneva, sans-serif; font-size: 10px; line-height: 24px;"&gt;
&lt;a href="http://posterous.com/" style="background: inherit; color: #fb9233; text-decoration: none;"&gt;Posted via web&lt;/a&gt;&amp;nbsp;from&amp;nbsp;&lt;a href="http://experimentgarden.com/project-kliqd-technical-details" style="background: inherit; color: #fb9233; text-decoration: none;"&gt;Experiment Garden&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-9021631903742910617?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=ATzGxvOuo4I:9S3Mqi4VOBc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=ATzGxvOuo4I:9S3Mqi4VOBc:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=ATzGxvOuo4I:9S3Mqi4VOBc:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/ATzGxvOuo4I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/9021631903742910617/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2010/06/project-kliqd-technical-details.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/9021631903742910617?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/9021631903742910617?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/ATzGxvOuo4I/project-kliqd-technical-details.html" title="Project Kliqd - Technical Details" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.experimentgarden.com/2010/06/project-kliqd-technical-details.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUCSXwycSp7ImA9WxFVEE8.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-7193845225981246124</id><published>2010-06-08T13:37:00.001-05:00</published><updated>2010-06-08T13:37:48.299-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-08T13:37:48.299-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Network Fundamentals" /><title>Basic Computer Networking Concepts</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: medium;"&gt;Modulation&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Modulation is the technique by which data is turned into an analog wave or a digital signal. There are different techniques of doing this. Amplitude modulation mixes a plain carrier wave with another data wave to change the amplitude of the carrier wave. Frequency modulation changes the frequency of the carrier wave to encode digital data into the carrier wave. A fast frequency may stand for a one whereas a normal frequency means zero. The most complicated type of modulation is analog modulation that uses phase to encode data. This changes the wave's starting point to encode data.&lt;/p&gt;  &lt;p&gt;&lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2010-06-08/iCnkxkvDBltrDwFqkqlasjzFIBHiqafCciamlprHqoIxxzzCrBhfvDvqHyjI/amplitude-phase-frequency-modulation.JPG.scaled1000.jpg'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-06-08/iCnkxkvDBltrDwFqkqlasjzFIBHiqafCciamlprHqoIxxzzCrBhfvDvqHyjI/amplitude-phase-frequency-modulation.JPG.scaled500.jpg" width="500" height="353"/&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Analog Modulation is used in AM radio. Frequency Modulation is used in FM radio. Old broadcast television uses analog modulation for video, frequency modulation for sound, and phase modulation for color.&lt;/p&gt;  &lt;p&gt;Digital modulation uses much less power than analog modulation, and is one of the reasons why small battery powered devices tend to use digital modulation. In digital modulation a clock is continuously sending on pulses, such that the signal looks like it is turning on and off extremely fast. The on and off signal that needs to be transmitted is mixed into these clock pulses.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: medium;"&gt;Multiplexing&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Multiplexing is the technique by which multiple network communications are transmitted on a single physical wire. It can be compared to a highway with multiple lanes and cars. In the physical electronic version multiple signals are combined into a single signal using a multiplexer. On the other end of the wire a demultiplexer performs the reverse operation to break the single signal into multiple signals again.&lt;/p&gt;  &lt;p&gt;Time division multiplexing gives each signal using the wire an equal share of time to communicate over the wire. After one signal has used its share of time the next signal starts using the wire. These single shares of time are extremely short so that it appears as if all signals are using the same wire at the same time. Time division multiplexing is wasteful, however, because if one signal does not have anything to communicate it still gets a share of the wire time, which is then wasted.&lt;/p&gt;  &lt;p&gt;&lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2010-06-08/yviGAJnEkptwdrdvkloeffnwxnCjuoynllpiCzFtJehrcjodzdhpHhzdJtnA/Time_division_multiplexing.PNG.scaled1000.png'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-06-08/yviGAJnEkptwdrdvkloeffnwxnCjuoynllpiCzFtJehrcjodzdhpHhzdJtnA/Time_division_multiplexing.PNG.scaled500.png" width="500" height="250"/&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Statistical multiplexing is more complicated. It measures how much each signal needs to use the wire, and signals with more data to transmit get a greater share of time using the wire. This maximizes the bandwidth by ensuring that very little time is given to signals that have very little data to transmit.&lt;/p&gt;  &lt;p&gt;Frequency division multiplexing gives each signal is own frequency to communicate it. This allows multiple signals to communicate at the same time, rather than having to divide wire usage time into dedicated segments.&lt;/p&gt;  &lt;p&gt;Wavelength division multiplexing is used for fiber optic multiplexing. Beams of light from different carrier waves are mixed into a single beam of light, as if by a prism. On the other end the wavelength demultiplexer works like a prism to split the light into different wavelengths again. Dense wavelength division multiplexing is an extreme version of wavelength division multiplexing, which breaks light up into 80 to 160 separate channels. It requires very high quality equipment that is extremely expensive.&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: medium;"&gt;&lt;strong&gt;Simplex, Half-Duplex, and Full-Duplex&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;Simplex network communication is only one direction. An example may be television, radio, or a baby monitor. You can receive communication but you can not send communication. In half-duplex network communication data can travel in both directions, but only in one direction at a time. An example may be a walkie-talkie in which you can send and receive, but not do both at the same time. In full-duplex communication you can send and receive at the same time, for example on a phone.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: medium;"&gt;Point to Point versus Point to Multipoint&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In point to point communication one sender is communication with one receiver. In point to multipoint communication one sender's signal is heard by many receivers. This is also called broadcast or multicast communication as opposed to non-boradcast point to point communication.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: medium;"&gt;Throughput versus Bandwidth&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;These two terms are often used interchangeably, but technically they mean two different things. Bandwidth refers to the range of frequencies used on a channel. This range is closely correlated with the possible speed of the communication. Throughput is the actual measure of how many bits you can transmit per second. Because of the close relationship between bandwidth and throughput the term bandwidth is often used to mean throughput.&lt;/p&gt;  &lt;p&gt;Throughput is reduced by transmission flaws such as noise, which may result in transmission errors that have to be corrected; and latency, which slows communication times.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: medium;"&gt;Baseband versus Broadband&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Baseband is a transmission form in which there is only one communication channel. Broadband has multiple channels. An example of this might be cable television.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: medium;"&gt;Transmission Flaws&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Noise is caused in a communication by electromagnetic interface, cross talk between wires, radio frequency interface. Noise causes analog waves to no longer be smoothly curved.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-06-08/lmmCaCkrbarhyhoyvClytkfkCokoxtzctCkzsjzHByfgdsreivmhFEJwiIbh/ps_noise.png.scaled500.png" width="379" height="296"/&gt; &lt;/p&gt;  &lt;p&gt;In a digital communication noise causes the square on and off state of the network to appear slightly jagged. A analog signal is extremely hard to clean of noise. Amplifiers to boost the analog signal may even exaggerate the noise. With a digital signal repeaters can effectively clean noise from the signal completely. Noise can also be limited by shielding wires with metal conduit, or choosing network mediums which are more resistant to noise.&lt;/p&gt;  &lt;p&gt;Attenuation is the loss of a signal's strength. The further the signal gets from the source the less distinct it becomes. Amplifiers for analog signals and repeaters for digital signals boost signals to remove attenuation. Amplifiers and repeaters are simple devices that fit in the &lt;a href="http://experimentgarden.com/the-osi-open-systems-interconnection-network"&gt;physical layer of the OSI model&lt;/a&gt;. They have not understanding of what they are amplifying or repeating.&lt;/p&gt;  &lt;p&gt;Latency is a third transmission flaw. The farther away from each other two network hosts are the more latency there will be. Latency depends on the type of network used. Fiber optic will have less latency than copper wire networks, which will in turn have less latency than a wireless network. Latency can also be caused by bottlenecks and slow hardware on a network.&lt;/p&gt; &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via web&lt;/a&gt;  from &lt;a href="http://experimentgarden.com/basic-computer-networking-concepts"&gt;Experiment Garden&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-7193845225981246124?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=LjNIM7uGOqs:R-_TBtvK3c8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=LjNIM7uGOqs:R-_TBtvK3c8:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=LjNIM7uGOqs:R-_TBtvK3c8:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/LjNIM7uGOqs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/7193845225981246124/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2010/06/basic-computer-networking-concepts.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/7193845225981246124?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/7193845225981246124?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/LjNIM7uGOqs/basic-computer-networking-concepts.html" title="Basic Computer Networking Concepts" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.experimentgarden.com/2010/06/basic-computer-networking-concepts.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8MQno_fSp7ImA9WxFVEEw.&quot;"><id>tag:blogger.com,1999:blog-1482244955575673403.post-2144005599380316224</id><published>2010-06-08T11:01:00.001-05:00</published><updated>2010-06-08T11:01:23.445-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-08T11:01:23.445-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Network Fundamentals" /><title>Network Transmission Basics - Analog and Digital Signals</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: medium;"&gt;Analog Network Signaling&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: small;"&gt;An analog signal is best compared to a wave.  It has similar properties to an ocean wave, and can be described using three specific characteristics: amplitude, frequency, and wavelength.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: small;"&gt;To use the ocean wave analogy an analog signal's amplitude is like the height of a wave rolling in onto the beach. The frequency of an analog signal can be compared to how fast the waves roll in.  Wavelength can be compared to the distance between one wave and the next wave.  Wavelength is measured as the distance between the peak of one wave and the next.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-06-08/uHoHnAAxIvdaAnhehCkdihrIJxfxvFjdAAvjujbpyDhFmBErelsllaatoiny/wavelength-frequency-amplitude.jpg.scaled500.jpg" width="450" height="320"/&gt; &lt;strong&gt;&lt;span style="font-size: medium;"&gt;Advantages and Disadvantages of Analog Signals&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: small;"&gt;Analog signals are variable and can convey more subtly than a digital signal.  For example the human voice is analog, and has more tone than a digital representation of the same voice.  However, analog signals are very vulnerable to interference from outside forces and other waves which can cancel them out.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: medium;"&gt;Digital Network Signaling&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: small;"&gt;A digital signal is made up of on/off states.  Unlike the smooth curve of an analog wave, the digital signal cuts on and off, like morse code.  This happens to perfectly fit the type of communication inside a computer, which is made up of on/off states as well.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-06-08/zlgttEjnCCFJIAqmagbwfDaJezhJoyazdowxgtcDBzkodgooDbfbsotfswGa/digital-vs-analog.gif.scaled500.gif" width="402" height="274"/&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-size: medium;"&gt;Advantages and Disadvantages of Digital Signals&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: small;"&gt;Digital signals are much more reliable than analog signals because they are less vulnerable to interference and errors. However, digital equipment costs more and is much more complex.&lt;/span&gt;&lt;/p&gt; &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via web&lt;/a&gt;  from &lt;a href="http://experimentgarden.com/network-transmission-basics-analog-and-digita"&gt;Experiment Garden&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482244955575673403-2144005599380316224?l=www.experimentgarden.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=Pq5RvyL43k0:jHAUPFwMZ1E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ExperimentGarden?a=Pq5RvyL43k0:jHAUPFwMZ1E:3QFJfmc7Om4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ExperimentGarden?i=Pq5RvyL43k0:jHAUPFwMZ1E:3QFJfmc7Om4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ExperimentGarden/~4/Pq5RvyL43k0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.experimentgarden.com/feeds/2144005599380316224/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.experimentgarden.com/2010/06/network-transmission-basics-analog-and.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/2144005599380316224?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1482244955575673403/posts/default/2144005599380316224?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExperimentGarden/~3/Pq5RvyL43k0/network-transmission-basics-analog-and.html" title="Network Transmission Basics - Analog and Digital Signals" /><author><name>NathanKP</name><uri>http://www.blogger.com/profile/11778888923964317040</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://bp1.blogger.com/_bazwyKf2FDM/R8RDzOeT4oI/AAAAAAAAABk/0Z1rEtQxZT0/S220/black_and_white_ornament.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.experimentgarden.com/2010/06/network-transmission-basics-analog-and.html</feedburner:origLink></entry></feed>

